JQuery Mobile Popup表现得很奇怪

时间:2013-09-26 20:52:09

标签: jquery-mobile

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

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

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

在main.html页面上,我在文件的第一个“页面”上有一个Popup:

<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。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:3)

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

参考:popup widget API