Javascript jQuery移动绑定微调器到ChangePage
经过大量的谷歌搜索和阅读论坛,我还没有找到一个合适的答案 到目前为止,我所发现的情况如下:Javascript jQuery移动绑定微调器到ChangePage,javascript,jquery,jquery-mobile,binding,jquery-events,Javascript,Jquery,Jquery Mobile,Binding,Jquery Events,经过大量的谷歌搜索和阅读论坛,我还没有找到一个合适的答案 到目前为止,我所发现的情况如下: function customLoader(url){ showLoader(); $.mobile.changePage(url); hideLoader(); } 显示加载消息 呼叫更改页面 隐藏加载消息 这将是可行的,但我必须这样做,每次我调用加载/更改页面,这是很多 这将使我要么做一个中间人函数,如下所示: function customLoader(url){
function customLoader(url){
showLoader();
$.mobile.changePage(url);
hideLoader();
}
显示加载消息
呼叫更改页面
隐藏加载消息
这将是可行的,但我必须这样做,每次我调用加载/更改页面,这是很多
这将使我要么做一个中间人函数,如下所示:
function customLoader(url){
showLoader();
$.mobile.changePage(url);
hideLoader();
}
是否存在将其绑定到更改页面事件的方法?
因此,它从调用第二个changePage开始显示,但在changePage离开后隐藏
我知道上面的中间人方法会起作用,但我希望实现更整洁、更好的方法,因为有很多html/js文件。类似这样的方法:
$('#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();
});
超时仅在此处,以便您可以看到它正在成功工作。这是一个简单的示例,因此可以快速启动transition。在真实代码中删除它
下面是一个例子:
每个更改页面事件周期都有一个事件顺序,当页面a转换到页面B时发生。无论使用哪个操作触发更改页面,都可以在页面B i成功加载时禁用它。如果要查找有关页面加载顺序的详细信息,请查看以下链接:。在这里,您将发现许多关于jQM页面动态的信息
如果要在每个页面转换中实现此功能,请使用以下命令:
$('[data-role="page"]').live('pageshow', function () {
$.mobile.hidePageLoadingMsg();
});
如果每次成功加载并显示不同的页面时ajax加载程序都处于打开状态,则这将隐藏ajax加载程序。类似以下内容:
$('#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();
});
超时仅在此处,以便您可以看到它正在成功工作。这是一个简单的示例,因此可以快速启动transition。在真实代码中删除它
下面是一个例子:
每个更改页面事件周期都有一个事件顺序,当页面a转换到页面B时发生。无论使用哪个操作触发更改页面,都可以在页面B i成功加载时禁用它。如果要查找有关页面加载顺序的详细信息,请查看以下链接:。在这里,您将发现许多关于jQM页面动态的信息
如果要在每个页面转换中实现此功能,请使用以下命令:
$('[data-role="page"]').live('pageshow', function () {
$.mobile.hidePageLoadingMsg();
});
如果每次成功加载和显示不同的页面时都打开ajax加载程序,那么这将隐藏ajax加载程序。也许这对许多人来说太多了,但我发现了一个不同于的解决方案,该解决方案在 在页面的“显示”事件中,我使用$.mobile.loadingshow;,因此,当页面出现时,会显示加载微调器 我使用Jquery移动路由器还有很多,但它解决了这个问题 虽然要隐藏微调器,我必须使用$'.ui loader.hide;,这很奇怪,我知道 也许只是监听适当的事件并触发微调器也会起作用,因为JQMR就是这样做的
我使用的是JQM 1.4.2…可能对许多人来说太多了,但我发现了一个不同于的解决方案 在页面的“显示”事件中,我使用$.mobile.loadingshow;,因此,当页面出现时,会显示加载微调器 我使用Jquery移动路由器还有很多,但它解决了这个问题 虽然要隐藏微调器,我必须使用$'.ui loader.hide;,这很奇怪,我知道 也许只是监听适当的事件并触发微调器也会起作用,因为JQMR就是这样做的 我正在使用JQM 1.4.2