仅在单击某个按钮时显示弹出窗口

时间:2016-11-30 15:20:15

标签: jquery html jquery-ui jquery-mobile popup

代码段:https://jsfiddle.net/boneill1292/uLjmy72h/8/

我有一段几乎正常工作的代码。我试图仅在单击按钮时显示弹出窗口,而不是任何其他时间。您将在提供的代码段中看到,如果您点击“报告”,则会在第一次尝试时看到。按钮它将生成两个选项:

方案一:首次加载页面,然后点击“报告”。您可以按“按钮”报告1'或者'删除页面'并且两个链接都正常工作。如果您点击“' x'弹出窗口关闭,没有其他事情发生。

情景二:如果您点击“报告”'按钮然后删除页面'按钮和取消后面的弹出窗口。然后点击“报告”'按钮(再次)并点击' x'关闭弹出窗口显示删除弹出窗口(这不应该发生)。我非常肯定这是由以下代码引起的:但我认为我会用data-dismissible =" false"

来阻止它
$("#reportsPopupDialog")
    .on("popupafterclose",
        function() {
            $('#exportPopupDialog').popup('open');
        });
我很抱歉这是如此罗嗦,但我无法想出一个更好的方式来形容它。如果完全错误的话,我的感受不会受到伤害,所以请继续告诉我。

非常感谢!

1 个答案:

答案 0 :(得分:0)

好吧,点击#deleteid后,您将eventListener popupafterclose添加到#reportsPopupDialog,这会在此弹出窗口关闭时始终触发。 而是在点击popupDialog按钮

时显示#deleteid
$("#deleteid").click(function() {
  $('#reportsPopupDialog').popup('close');
  setTimeout(showDeletePopup, 500);
});
function showDeletePopup () {
  $('#popupDialog').popup('open');
}

这是一个jsFiddle

注意:setTimeout是因为你不能同时有两个弹出窗口所以你需要等待一个弹出窗口完全关闭才能打开下一个