我在我的 jQuery Mobile 网站中遇到问题,我有 3 个单独的页面(在一个 index.html 文件中),所有这些页面都在成功事件中加载自己的弹出窗口,然后我通过 jQuery 加载弹出窗口,例如:
$( "#myPopupDiv" ).popup( "open" );
这很好用,但是一旦用户访问了一个页面并打开了它的弹出窗口,当访问后续页面时,这些页面上的弹出窗口就不会触发(但是该页面上的弹出窗口在会话期间仍然有效),但是所有代码都可以在页面上运行,并且 Chrome 开发工具中没有控制台错误。
我没有任何重复的 ID,我尝试在 console.log 中放置代码应该触发以打开弹出窗口的位置,这可以正常工作,似乎绕过了打开弹出窗口的代码。
有没有人遇到过这个问题?
提前致谢。
简化代码示例
<!-- PAGE 1 -->
<div data-role="page" id="page-1">
<div data-role="content">
<!-- BUTTON: loadPopup-1 -->
<div id="popup-1" data-role="popup">
<!-- Popup contents -->
</div><!-- /popup -->
</div><!-- /content -->
</div><!-- /page -->
<!-- PAGE 2 -->
<div data-role="page" id="page-2">
<div data-role="content">
<!-- BUTTON: loadPopup-2 -->
<div id="popup-2" data-role="popup">
<!-- Popup contents -->
</div><!-- /popup -->
</div><!-- /content -->
</div><!-- /page -->
<!-- JS -->
function loadPopup-1() {
$( "#popup-1" ).popup( "open" );
}
function loadPopup-2() {
$( "#popup-2" ).popup( "open" );
}
因此,如果用户选择第 1 页并打开其弹出窗口,该弹出窗口将继续工作,但第 2 页上的弹出窗口不会,反之亦然。