Javascript JQuery Mobile showPageLoadingMsg()

Javascript JQuery Mobile showPageLoadingMsg(),javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我有一个登录页面,希望在web页面调用ajax函数加载数据时显示微调器,完成后调用chagePage,所有内容都可以加载,但微调器都没有显示。我从其他问题中得到了超时时间,如果我正在调试和逐步完成,但不是实时的,它是有效的。我还尝试将其放在ajax的beforeSend中 $('#loginButton').live('click',function(e){ $.mobile.showPageLoadingMsg(); setTimeout(initialLogin(),300)

我有一个登录页面,希望在web页面调用ajax函数加载数据时显示微调器,完成后调用chagePage,所有内容都可以加载,但微调器都没有显示。我从其他问题中得到了超时时间,如果我正在调试和逐步完成,但不是实时的,它是有效的。我还尝试将其放在ajax的beforeSend中

$('#loginButton').live('click',function(e){
    $.mobile.showPageLoadingMsg();
    setTimeout(initialLogin(),300);
});
谢谢

    if(success){
//Load home page
    $.mobile.changePage("#second");
    loadList(); //loads listview
}
仅供参考,以下是我正在使用的设置

$(document).bind("mobileinit", function(){
$.mobile.defaultPageTransition = 'none';
$.mobile.buttonMarkup.hoverDelay= 250;
$.mobile.allowCrossDomainPages = true;
$.support.cors = true;
$.mobile.pushStateEnabled = false;
$.mobile.orientationChangeEnabled = true;
});

您可以像这样在应用程序范围内使用它:

$(document).ajaxStart(function () {
    $.mobile.showPageLoadingMsg();
}).ajaxStop(function () {
        $.mobile.hidePageLoadingMsg();
    });

现在工作正常,我将ajax async设置为true,并填充成功区域中的对象。

initialLogin()函数的代码是什么?只是一些文本框验证,然后它调用ajax函数,当我逐步完成时,它会正确地显示微调器到hidePageLoadingMsg(),就像它应该的那样。即使我将超时设置为5000,它也只会在那里停留5秒钟,而不会显示微调器。我之所以想查看
initialLogin()
函数的代码,是因为您很可能会使它比需要的更复杂。
changePage
函数可以单独显示/隐藏加载消息。我稍后在ajax之后调用changePage,我会粘贴该代码。请告诉我您何时粘贴该代码,我会将其签出。仍然无法按预期工作,再次说明,我将其放在事件链的何处似乎无关紧要,只有在调试过程中停止时才会显示。除非changePage发生得非常快,并在页面UI刷新之前将其隐藏。