Nis*_*eph 2 mobile events google-chrome click touch
我遇到一个问题,click
链接元素(A 标签)或任何其他 DOM 元素上的事件未调用处理程序/回调函数。
我得到层次结构中的哪个父级没有得到此事件并不重要。
不存在 Event.stopImmediatePropagation 或 Event.stopPropagation。
原因是 Chrome 56,他们改变了一些事件并停止将鼠标事件转换为触摸事件。
要解决这个问题,只需使用touchstart
您之前使用过的移动事件click
。或者,如果您只需要一个,click
您可以这样做:
Element.addEventListener("click", callback);
Element.addEventListener("touchstart", callback);
function callback(event) {
Element.removeEventListener("click", callback);
Element.removeEventListener("touchstart", callback);
// do something
}
Run Code Online (Sandbox Code Playgroud)
现在,要进行模拟点击,您需要检查“touchstart”和“touchend”之间的 300ms 传递时间。如果少了,你就可以点击一下。
注意:“click”事件发生在“touchstart”之后
归档时间: |
|
查看次数: |
8832 次 |
最近记录: |