我遇到链接元素(A标记)或任何其他DOM元素上的click
事件未调用处理程序/回调函数的问题。
层次结构中的哪个父级我无法获得此事件无关紧要。
不存在Event.stopImmediatePropagation或Event.stopPropagation。
答案 0 :(得分:1)
原因是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
}
现在,要进行模拟点击,您需要检查" touchstart"之间的300毫秒传递。和" touchend"。如果它少了你点击。
注意:"点击"事件发生在" touchstart"
之后