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,以便我们有更好的想法