鍵盤事件,想要控制兩種效果。一種是長按事件即longTap事件,長按數字鍵盤750ms再顯示數字,另一種效果是直接點擊即touchend事件無延遲顯示結果。阻止事件冒泡行不通,于是想通過觸發一個事件時取消另一個事件監聽,然后通過異步來重新監聽事件處理函數,這樣每次點擊之間就互不影響。但是這樣行不通。重新監聽事件處理函數并沒有起到效果。而且有個很奇怪的點是: $('#keyBox').on('touchend' , 'a' , function(e) { e.preventDefault(); e.stopPropagation(); keyboardEvent(e); }); $('#keyBox').on('longTap' , 'a' , function(e) { keyboardEvent(e); return false; }); 直接這樣寫會同時執行兩個事件,直接點擊松開會先觸發touchend,然后大概有750ms延遲就觸發第二個事件。這都不是長按啊,為什么會執行longTap?長按的話就先觸發longTap然后再觸發touchend。誰有比較好的解決方案?
zepto中的longTap事件和原生的touchend事件沖突如何避免?
夢里花落0921
2018-12-19 22:22:29