像这样的东西:
$('#index').live('pagebeforeshow',function(e,data){
$('#test-button').live('click', function(e) {
$.mobile.showPageLoadingMsg(true);
setTimeout(function () {
$.mobile.changePage('#second');
}, 1000);
});
});
$("#second").live('pageshow', function () {
$.mobile.hidePageLoadingMsg();
});
超时只是在这里,您可以看到它正在成功运行。这是一个轻量级的示例,因此过渡会快速触发。在您的真实代码中删除它。
这是一个例子:http: //jsfiddle.net/Gajotres/arrHd/
当页面 A 转换到页面 B 时,每个更改页面事件周期都会发生事件顺序。无论使用哪个操作来触发更改页面,您始终可以在页面 B i 成功加载时禁用它。如果您想了解有关页面加载顺序的更多信息,请查看此链接:https ://stackoverflow.com/a/14010308/1848600 。在那里你会发现很多关于 jQM 页面动态的信息。
如果您想在每个页面转换中实现这一点,请使用:
$('[data-role="page"]').live('pageshow', function () {
$.mobile.hidePageLoadingMsg();
});
每次成功加载和显示不同的页面时,这将隐藏一个 ajax 加载器(如果它是打开的)。