假设我有一个带有touchEnd
事件侦听器的按钮。如果我触摸按钮,将手指滑出按钮然后释放触摸,我想“取消”触摸事件。如何在Mobile Safari上取消触摸操作?
这如果我下面用onClick
正确行为:
buttonElement.addEventListener('click', function (event) {
if (event.target === this) {
// Do something
}
});
然而,这不符合“touchEnd”工作,因为event.target
指向发起元素(buttonElement
在这种情况下),不到我释放触摸的元素。
除了像在touchMove上设置标志之外,还有更好的通用方法吗?谢谢!
这是做到这一点的正确方法。 touchcancel仅在用户收到呼叫或推送通知时发生。 – ughoavgfhw 2010-12-17 21:50:13
是的,我知道touchCancel是如何触发的,因此引号中的“取消”。所以基本上没有办法跟踪事件监听器之外的某个状态吗? – thatmarvin 2010-12-20 17:10:01