0
我在一個元素上監聽taphold事件,然後打開一個彈出窗口並選擇操作。問題是,在彈出窗口打開後,觸發新的鼠標/手指事件。所以我的解決辦法是捕獲所有後續的鼠標/手指事件,直到touchend事件:哪些事件要在taphold上捕獲
function tapholdTriggered() {
$.mcm.mobile.$d.on('vclick.taphold vmousedown.taphold click.taphold mousedown.taphold tap.taphold taphold.taphold touchstart.taphold touchmove.taphold', function (event) {
event.preventDefault();
event.stopImmediatePropagation();
})
.on('touchend.taphold', function (event) {
event.preventDefault();
event.stopImmediatePropagation();
$.mcm.mobile.$d.off('.taphold');
});
}
所以基本上我會聽的taphold事件,調用tapholdTriggered(),然後打開彈出窗口。
我的問題是,我認爲我過度陷害事件。我不知道各種鼠標/手指事件是以什麼順序觸發的。所以如果有人能幫助我優化被困事件,我會很感激。
謝謝。
檢查此http://jsfiddle.net/Palestinian/Ws853/ – Omar
這是我正在嘗試做的。它可以工作,但正如我所說,由於我不知道訂單,所以我可能會陷入困境的事件:http://jsfiddle.net/Ws853/10/ – maxmoore14