2012-08-10 108 views
9

我使用新的jqm彈出窗口與1.2.0 alpha版本,我的問題是我從哪個頁面調用彈出窗口時無用地關閉彈出窗口時使用esc鍵或點擊屏幕......此刷新僅在我第一次關閉它時發生。如果我重新打開並再次關閉彈出的頁面不刷新......關閉jQuery Mobile新彈出頁面導致頁面無用地刷新

似乎出於某種原因JQM歷史mecanism搞的一團糟....

似乎這不是一個內置因爲這不會發生在jqm演示頁面中的任何彈出窗口。

任何想法如何解決這個問題?

感謝

艾蒂安

+0

我遇到類似的問題,當前的網址不與導航堆棧同步。您會注意到_handleHashChange事件觸發了「navigate」事件($ .mobile.pageContainer.trigger(navEvent);),並且期望的評估isDefaultPrevented爲true的偵聽器不會被觸發,因爲它只綁定一次。根據我這個星期的時間,我可能會提交一個拉請求。我會及時向大家發佈。 – nullable 2012-09-17 21:36:53

回答

3

每我的意見,這裏是一個臨時解決方法的問題。只要適當地綁定到導航事件並調用preventDefault。這將阻止重新加載頁面。我最終結合到popupafterclose,只有當它被打開:

$('.my-popup-selector').on('popupafteropen', function() { 
     $(this).one('popupafterclose', function() { 
      $(window).one('navigate.popup', function (e) { 
       e.preventDefault(); 
      }); 
     }); 
    }); 
+0

我結束了(活)你的補丁在[data-role =「popup」]選擇器的popupafteropen事件,它解決了所有我的應用程序彈出窗口的問題。非常感謝! – 2012-10-24 02:38:23

22

我也有類似的問題,正如我並不需要使用歷史在我的情況,我解決了它禁用全局彈出歷史是這樣的:

$.mobile.popup.prototype.options.history = false; 
+0

謝謝!這解決了我的問題!我不知道彈出窗口處理了歷史。 – Giorgio 2013-02-28 12:11:00

+0

非常感謝... – 2015-03-19 09:14:10

+0

@Pablo我愛你! =) – 2015-12-24 13:17:18

4

同時與jQuery Mobile的1.4.5

在IE11類似的問題,我發現我可以防止「刷新」通過聲明該數據歷史上彈出關閉彈出窗口時,發現這個職位=我的HTML中的「false」屬性。

例:

...

+0

謝謝。這解決了我的問題, – MK446 2017-10-17 05:51:15

0

我也有類似的問題,我用history: false固定它:

$("#selector").popup({ transition: 'slidedown', history: false, overlay: true }); 
$("#selector").popup("open"); 
0

添加data-history="false"彈出股利。因此當彈出關閉時它不會重定向到另一個頁面。