0

我开始真正讨厌 JQuery Mobile,但必须坚持下去。非常感谢您对这个问题的任何帮助!

好的,我有一个启动页面,它只检查一些东西,如果一切正常,它会将用户发送到另一个页面。我不希望通过 AJAX 加载新页面,所以我这样做:

window.location.href = "main.html";

在 main.html 页面上,我在文件的第一个“页面”上有一个弹出窗口:

<div data-role="page" data-theme="b" id="MenuPage">
    <div data-role="content" style="padding: 10px; padding-top:0px;" id="MenuBody">
         ...stuff and things...
    </div>
    <div data-role="popup" id="TapPanel" data-theme="b" data-add-back-btn="false">
        <h3>Navigation</h3>
        <p>To return to this menu from any other screen, tap the logo shown above.</p>
    </div>
</div>

在 Javascript 中,我将弹出窗口设置为在页面首次加载时出现:

$(function () {
    setTimeout($("#TapPanel").popup("open", { x: 10, y: 140 }), 1500);
});

问题是,当我单击/点击此弹出消息的任何位置(最终只会显示第一次)时,它会尝试“返回”到调用此消息的页面,该页面只是重新打开此消息 - 重新显示弹出窗口. 换句话说,一旦显示弹出窗口,我就无法摆脱它。这简直是​​变态!更糟糕的是,弹出窗口之前关闭得很好,我不知道是什么让它开始以这种方式运行。

如您所见,我尝试过“data-add-back-btn='false'”,但这没有帮助。

我也在使用 jquery-1.10.2 和 jquery.mobile-1.3.2。任何帮助将非常感激。

4

1 回答 1

3

为防止弹出窗口在关闭/隐藏后更改 URL,请将data-history="false"属性添加到弹出 div。或以编程方式设置它$('#popup').popup({ history: false });

参考:弹出窗口小部件 API

于 2013-09-26T22:17:45.360 回答