Jquery mobile jQuery Mobile-preventDefault()打开按钮(链接)

Jquery mobile jQuery Mobile-preventDefault()打开按钮(链接),jquery-mobile,button,event-handling,popup,preventdefault,Jquery Mobile,Button,Event Handling,Popup,Preventdefault,我正在开发jquerymobile(jQm)应用程序 我想利用taphold事件来处理一些关键元素,例如remove button,以确保该元素不会受到不必要的触发 我在jQm弹出窗口上创建了Remove按钮并添加了一些JS,但我不能强制默认操作退出,不能使用event.preventDefault()和event.stopImmediatePropagation(),也不能使用return false 我准备了JSFIDLE作为代码的副本。那里的弹出窗口包含简单的进度条,作为保持点击的指示器。

我正在开发jquerymobile(jQm)应用程序

我想利用taphold事件来处理一些关键元素,例如remove button,以确保该元素不会受到不必要的触发

我在jQm弹出窗口上创建了Remove按钮并添加了一些JS,但我不能强制默认操作退出,不能使用
event.preventDefault()
event.stopImmediatePropagation()
,也不能使用
return false

我准备了JSFIDLE作为代码的副本。那里的弹出窗口包含简单的进度条,作为保持点击的指示器。您可以在这里尝试:(注意:HTML5数据标记
taphold=“true”
不是jQm默认值)

作为一种解决方法,我目前正在用样式类似按钮的
替换
。这很有效,因为它没有任何默认操作,但我很好奇为什么“适当”的解决方案不起作用

$("a:jqmData(taphold='true')").bind("vmousedown vmouseup", function(event) {
    event.preventDefault();
    event.stopImmediatePropagation();
event.preventDefault()
事件。stopImmediatePropagation()在上述代码段中使用,请参考
vmousedown
vmouseup
事件,而不是绑定到所选元素的每个事件

这意味着
单击
事件的默认行为仍然存在。因此,当您单击“删除”按钮时,将触发“单击”事件,这就是弹出窗口立即关闭的原因


我希望这能有所帮助。

我知道这会像往常一样简单而愚蠢。基本上,我刚刚错过了
中的
单击
,在
vmouse下拉vmouse向上单击
。谢谢你的这个。