关闭jQuery Mobile新弹出窗口无用刷新

时间:2012-08-10 19:20:05

标签: jquery-mobile

我正在使用带有1.2.0 alpha版本的新jqm弹出窗口,我的问题是当我使用esc键关闭弹出窗口或点击屏幕时,我调用弹出窗口的页面无法刷新...刷新仅在我第一次关闭时发生。如果我重新打开并再次关闭弹出窗口,页面就不会刷新......

似乎由于某种原因,jqm历史机制被搞砸了......

它似乎不是内置功能,因为jqm演示页面中的任何弹出窗口都不会发生这种情况。

知道如何解决这个问题吗?

由于

艾蒂安

5 个答案:

答案 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。因此,当弹出窗口关闭时,它不会重定向到另一个页面。