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