jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了有没有办法从另一个插件检测Jquery Mobile中的第一页加载?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种方法来利用JQM并在第一页加载之前覆盖东西.

JQM初始化如此(来自最新的JQM代码):

@H_801_9@( function( $,window,undefined ) { var $html = $( "html" ),$head = $( "head" ),$window = $( window ); // trigger mobileinit event $( window.document ).trigger( "mobileinit" ); ... $.extend($.mobile,{ // find and enhance the pages in the dom and transition to the first page. initializePage: function() { ... // alert listeners that the pagecontainer has been deter@L_673_2@d for binding // to events triggered on it $window.trigger( "pagecontainercreate" ); ...

@R_397_9447@利用两个事件:mobileinit和pagecontainercreate.我知道这很容易从HTML这样:

@H_801_9@<script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript"> $( window ).bind( 'pagecontainercreate',function() { console.log("HelLO"); }); </script> <script type="text/javascript" src="jquery.mobile-1.1.0.multiview_con.js"></script> <script type="text/javascript" src="plugin.js"></script>

但是如果我想从JACM之后的INSIDE plugin.js绑定到这些事件呢?如果我在PLugin.js中放置相同的监听器,它永远不会触发.我想,因为为时已晚.但我需要阻止认加载第一页,所以一旦JQM试图加载初始页面,对我来说就太晚了.

题:
有没有办法在第一页加载从JQM之后的插件开始之前收听这些事件中的任何一个或任何其他事件?

编辑:
我不能使用pageinit,因为它会在调用第一页后触发.用于pageCreate的Dito,它也不会从插件内部触发.

解决方法

好.我用JQMs autoinitialize选项( see here)将其解决false,如下所示:

@H_801_9@$(document).bind("mobileinit",function(){ $.mobile.autoInitializePage = false; });

这样Jquery Mobile就不会自动启动,只有当我手动调用它时才会这样:

@H_801_9@if ( $.mobile.autoInitializePage == falsE){ $.mobile.initializePage(); }

我已将最后一个片段放在我的第二个插件中,需要在JQM触发第一个页面init之前完全设置.设置第二个插件后,我调用initializePage(),一切运行正常.

大佬总结

以上是大佬教程为你收集整理的有没有办法从另一个插件检测Jquery Mobile中的第一页加载?全部内容,希望文章能够帮你解决有没有办法从另一个插件检测Jquery Mobile中的第一页加载?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。