2012-08-13 91 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