Jquery mobile jQuery Mobile-preventDefault()打开按钮(链接)
我正在开发jquerymobile(jQm)应用程序 我想利用taphold事件来处理一些关键元素,例如remove button,以确保该元素不会受到不必要的触发 我在jQm弹出窗口上创建了Remove按钮并添加了一些JS,但我不能强制默认操作退出,不能使用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作为代码的副本。那里的弹出窗口包含简单的进度条,作为保持点击的指示器。
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向上单击
。谢谢你的这个。