Jquery mobile 在taphold上捕获哪些事件

Jquery mobile 在taphold上捕获哪些事件,jquery-mobile,Jquery Mobile,我监听一个元素上的taphold事件,然后打开一个包含操作选项的弹出窗口。问题是,打开弹出窗口后,会触发新的鼠标/手指事件。因此,我的解决方案是捕获所有后续鼠标/手指事件,直到touchend事件: function tapholdTriggered() { $.mcm.mobile.$d.on('vclick.taphold vmousedown.taphold click.taphold mousedown.taphold tap.taphold taphold.taphold t

我监听一个元素上的taphold事件,然后打开一个包含操作选项的弹出窗口。问题是,打开弹出窗口后,会触发新的鼠标/手指事件。因此,我的解决方案是捕获所有后续鼠标/手指事件,直到touchend事件:

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(),然后打开弹出窗口

我的问题是,我认为我过度捕捉事件。我不知道各种鼠标/手指事件的触发顺序。因此,如果有人能帮我优化被困事件,我将不胜感激


谢谢。

我使用了一个覆盖身体的屏幕,然后在touchend、mouseup和vmouseup上移除。我完成这项工作的方式有点不同。

检查这一点我正在尝试做的。这是可行的,但正如我所说的,我可能对被困事件太过火了,因为我不知道顺序: