【发布时间】:2018-07-04 01:21:05
【问题描述】:
我想在 IE11 上收听 pointermove 事件,但似乎 pointermove 仅在鼠标(可能还有笔)时触发,但在您使用手指时不会触发。
实际上,specification 表示它会触发笔/鼠标,所以这可能不是真正的错误。
但是,有什么方法可以在 IE 上收听 pointermove 的触控功能吗?肯定有,但我很惊讶pointermove 根本没有开火。
编辑:我发现如果我将 CSS touch-action: none 放在 div 上,pointermove 事件就会触发。但为什么?我正在尝试查找与此相关的文档,但到目前为止我找不到任何文档。
编辑:我了解到touch-action CSS 指定了浏览器处理哪些触摸动作。这意味着将touch-action 设置为none 告诉浏览器不处理任何触摸事件,开发人员负责通过JavaScript 事件控制行为。这就是为什么我只有在拥有 CSS 时才能正确触发事件。 (在MDN 上查看更多信息。)
【问题讨论】:
-
感谢您的编辑。这真的救了我。在我们的应用程序中,无论出于何种原因,在 IE11 中,onmousemove 在我们的签名框中的 onmousedown 之前触发,这当然会炸毁一切。使用那个 touch-action: none 然后使用 onpointerdown 和 onpointermove 工作。谢谢!
标签: javascript