在页面初始化时,需要使用ajax从服务器取数据,但发现在pageinit和pagecreate事件中$.mobile.loading('show')不起作用,代码如下
$(document).on('pagecreate', '#page_one', {
$.mobile.loading('show');
});
经搜索解决方案,发现需要使用setTimeout,代码如下
$(document).on('pagecreate', '#page_one', {
setTimeout(function(){
$.mobile.loading('show');
},1);
});
可以绑定ajax的全局事件,从而在统一的地方实现loading机制,代码如下
//loading
$(document).on('ajaxStart', function () {
setTimeout(function () {
$.mobile.loading('show');
}, 1);
}).on('ajaxStop', function () {
$.mobile.loading('hide');
});