关闭弹出窗口并导航到jQuery Mobile中的另一个页面

Close popup and navigate to another page in jQuery Mobile

本文关键字:Mobile 另一个 jQuery 窗口 导航      更新时间:2023-09-26

我试图关闭一个弹出/对话框,当用户按下一个按钮弹出,并导航到另一个页面(单页应用程序,多个"页面")。jQM 1.4.0

如果我点击弹出框中的yes按钮,它将导航到我想要的#page3,但然后跳转回起始页。如果我注释掉。popup("close");它工作,但我需要关闭弹出之前,我做的事情。这里出了什么问题?

js

$("#popupyes").on("tap", function(e)
    {
        $("#popupDialog").popup("close"); // <---- doesn't work
        //call some js-function before navigate to #page3
    });
html

<a href="#popupDialog" data-rel="popup" data-position-to="window" data-transition="pop" class="ui-btn ui-corner-all ui-shadow ui-btn-a">Button</a>
            <div data-role="popup" id="popupDialog" data-overlay-theme="a" data-theme="a" data-dismissible="false" style="max-width:400px;">
                <div data-role="header" data-theme="a">
                <h1>Head</h1>
                </div>
                <div data-role="main" class="ui-content">
                    <h3 class="ui-title">Text.</h3>
                <p>Text?</p>
                    <a href="#page3" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-a">No</a>
                    <a href="#" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-btn-icon-right ui-icon-delete" data-rel="back">Abort</a>
                    <a id="popupyes" href="#page3" class="ui-btn ui-shadow ui-corner-all ui-btn-inline">Yes</a>
                </div>
            </div>  

我可以用$("#popupDialog").hide();但它仍然在记忆中,只是隐藏…或者等一下,它会在一段时间后自行终止吗?

弹出窗口完全关闭后,您可以简单地监听popupafterclose调用任何函数。

$(document).on("pagecreate", function () {
    $("#popupID a").on("tap", function () {
        /* do something */
        $("#popupID").popup({
            afterclose: function () {
              /* do something */
            }
        }, "close");
    });
});