2012-08-13 93 views
2

我正在爲PhoneGap應用程序使用jQuery Mobile。當我嘗試加載內部頁是這樣的:加載內部頁面時顯示加載消息

$.mobile.changePage('#loginPage', { transition: "none"}); 

的應用程序等待饑荒預警系統片刻後,頁面切換到登錄頁面。在頁面加載時可以顯示加載消息嗎?我知道changePage有一個showLoadingMsg選項,但只適用於外部頁面。

回答

0

pagebeforecreatepagebeforeshow事件中使用$.mobile.showPageLoadingMsg();(根據您的情況),然後$.mobile.hidePageLoadingMsg();pageshow事件。類似這樣的:

$(document).on(
    'pageshow', 
    '#loginPage' 
    function() 
    { 
     $.mobile.hidePageLoadingMsg(); 
    } 
); 
+0

這似乎不起作用,感覺就像changePage函數銷燬任何加載消息。如果我把$ .mobile.showPageLoadingMsg();就在changePage之前,或者將其綁定到pagebeforecreate和pagebeforeshow之後,並從頁面中刪除所有hidePageLoadingMsg(),但它仍然不顯示......它讓我瘋狂。 – Timm 2012-08-13 12:20:37

+0

我認爲問題的一部分是,在按下某個按鈕並調用JavaScript後,會有大約半秒的延遲,我猜這是沒有辦法的...... – Timm 2012-08-13 13:03:24

+1

所以整個問題真的是我的上述評論,實際上頁面加載是即時的。剛發現上面提到的延遲可以通過綁定點擊事件來綁定到vclick按鈕來消除。 http://forum.jquery.com/topic/how-to-remove-the-300ms-delay-when-clicking-on-a-link-in-jquery-mobile – Timm 2012-08-13 13:27:29