Javascript 由于点击保持对话框而阻止href
我动态生成如下列表:Javascript 由于点击保持对话框而阻止href,javascript,jquery,jquery-mobile,cordova,tap,Javascript,Jquery,Jquery Mobile,Cordova,Tap,我动态生成如下列表: $("#list").append("<li><a class='touchable' id=" + results.rows.item(i).id + " href='#list' onclick='showDetailsList(" + results.rows.item(i).id + ");'>" + results.rows.item(i).name + "</a></li>"); $(“#列表”)。追加(“”)
$("#list").append("<li><a class='touchable' id=" + results.rows.item(i).id + " href='#list' onclick='showDetailsList(" + results.rows.item(i).id + ");'>" + results.rows.item(i).name + "</a></li>");
$(“#列表”)。追加(“”);
如您所见,我将类“touchable”添加到a链接中。现在我有:
$(document).on("taphold",".touchable",function(e){
e.preventDefault();
e.stopPropagation();
$(this).simpledialog2({
mode:"blank",
headerText:"Image Options",
showModal:false,
forceInput:true,
headerClose:true,
blankContent:"<ul data-role='listview'><li><a href=''>Send to Facebook</a></li><li><a href=''>Send to Twitter</a></li><li><a href=''>Send to Cat</a></li></ul>"
});
});
$(document).on(“taphold”和“.touchable”功能(e){
e、 预防默认值();
e、 停止传播();
$(此).simpledialog2({
模式:“空白”,
标题文字:“图像选项”,
showModal:错,
forceInput:true,
海德克罗斯:是的,
blankContent:“
”
});
});
我添加了“e.preventDefault()”。但当我点击链接几秒钟后,对话框就会显示出来,但当我松开鼠标时,它会自动跳转到另一个页面
我想在对话框中选择一个选项,不转到其他页面。我该怎么做呢?我想发生的是,当您释放单击时,
单击事件将在链接上触发,您将跳转到另一个页面。您可以做的是将单击事件处理程序绑定到taphold事件处理程序中的$(此)
,这将防止事件冒泡
像这样的
$(this).one("click", function(e) { // one to only handle one (the next) click event
e.preventDefault();
e.stopPropagation();
});
在您的taphold处理程序内部应该可以工作。可能是事件正在向父级冒泡…也添加e.stopPropagation()
。将其添加到我的beginpost和代码中,但仍然没有结果您可以为此创建JSFIDLE,以便我们有更好的想法