我正在使用带有 1.2.0 alpha 版本的新 jqm 弹出窗口,我的问题是,当使用 esc 键关闭弹出窗口或单击屏幕时,我调用弹出窗口的页面被刷新无用......这种刷新只发生我第一次关闭它。如果我重新打开并再次关闭弹出页面,则页面不会刷新......
似乎由于某种原因 jqm 历史机制搞砸了....
它似乎不是内置功能,因为 jqm 演示页面中的任何弹出窗口都不会发生这种情况。
知道如何解决这个问题吗?
谢谢
艾蒂安
我正在使用带有 1.2.0 alpha 版本的新 jqm 弹出窗口,我的问题是,当使用 esc 键关闭弹出窗口或单击屏幕时,我调用弹出窗口的页面被刷新无用......这种刷新只发生我第一次关闭它。如果我重新打开并再次关闭弹出页面,则页面不会刷新......
似乎由于某种原因 jqm 历史机制搞砸了....
它似乎不是内置功能,因为 jqm 演示页面中的任何弹出窗口都不会发生这种情况。
知道如何解决这个问题吗?
谢谢
艾蒂安
我有一个类似的问题,因为我不需要在我的情况下使用历史记录,我解决了它禁用全局弹出历史记录,如下所示:
$.mobile.popup.prototype.options.history = false;
在使用 jQuery Mobile 1.4.5 在 IE11 上遇到类似问题时发现这篇文章
我发现通过在我的 HTML 中声明带有 data-history="false" 属性的弹出窗口,我可以在关闭弹出窗口时防止“重新加载”。
前任:
...
根据我的评论,这是该问题的临时解决方法。只需适当地绑定到导航事件并调用 preventDefault。这将防止重新加载页面。我最终绑定到popupafterclose,只有当它被打开时:
$('.my-popup-selector').on('popupafteropen', function () {
$(this).one('popupafterclose', function () {
$(window).one('navigate.popup', function (e) {
e.preventDefault();
});
});
});
我遇到了类似的问题,我使用以下方法修复了它history: false
:
$("#selector").popup({ transition: 'slidedown', history: false, overlay: true });
$("#selector").popup("open");
添加data-history="false"
到弹出 div。因此,当弹出窗口关闭时,它不会重定向到另一个页面。