2013-09-26 74 views
0

我開始真正討厭JQuery Mobile,但必須堅持下去。任何有關這個問題的幫助,非常感謝!一個JQuery Mobile Popup的行爲奇怪

好的,我有一個啓動頁面,只是檢查一些事情,如果一切正常,它會將用戶發送到另一頁面。我不希望在新的頁面通過AJAX加載所以我這樣做:

window.location.href = "main.html"; 

在main.html中的網頁我有在文件中的第一個「頁面」彈出窗口:

<div data-role="page" data-theme="b" id="MenuPage"> 
    <div data-role="content" style="padding: 10px; padding-top:0px;" id="MenuBody"> 
     ...stuff and things... 
    </div> 
    <div data-role="popup" id="TapPanel" data-theme="b" data-add-back-btn="false"> 
     <h3>Navigation</h3> 
     <p>To return to this menu from any other screen, tap the logo shown above.</p> 
    </div> 
</div> 

在Javascript中我設置了彈出窗口出現時,使用第一次加載頁面:

$(function() { 
    setTimeout($("#TapPanel").popup("open", { x: 10, y: 140 }), 1500); 
}); 

的問題是,當我點擊/任何地方點擊關閉這個彈出消息(僅會在第一時間最終)它試圖回到pag e稱爲這一個,它只是重新打開這個 - 重新顯示彈出窗口。換句話說,一旦顯示出來,我就無法擺脫彈出窗口。這只是歪曲!更糟糕的是,彈出窗口關閉之前,我不知道是什麼讓它開始這樣做。你可以看到,我嘗試過「data-add-back-btn ='false'」,但這沒有幫助。

另外我正在使用jquery-1.10.2和jquery.mobile-1.3.2。任何幫助將非常感激。

+1

添加'data-history = false'屬性爲彈出div。而不是'$(function()'''使用'$(document).on('pageshow','#pageid',function(){code});'。 – Omar

+0

感謝Omar - 「data-history ='假'''做了它希望你已經發布了一個答案,所以我可以給你點! –

+0

我很高興我一直在幫助:)我已經發布了一個答案;) – Omar

回答

3

要防止彈出窗口在關閉/隱藏時更改URL,請將data-history="false"屬性添加到彈出窗格div。或以編程方式將其設置爲$('#popup').popup({ history: false });

參考:popup widget API