假設我有一個帶有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