Javascript jQuery document.ready在Android的第二个屏幕上没有被解雇
jQuery document.ready没有从第二个屏幕被触发,而它正在第一个/初始屏幕被触发 jQueryMobile也包含在html中,jQueryMobile是否阻止document.ready,我在某个地方读到,我们必须使用jQueryMobile的“pageinit”而不是“document.ready”。但该应用程序是为所有平台开发的,包括台式机、平板电脑和移动设备Javascript jQuery document.ready在Android的第二个屏幕上没有被解雇,javascript,android,jquery,html,jquery-mobile,Javascript,Android,Jquery,Html,Jquery Mobile,jQuery document.ready没有从第二个屏幕被触发,而它正在第一个/初始屏幕被触发 jQueryMobile也包含在html中,jQueryMobile是否阻止document.ready,我在某个地方读到,我们必须使用jQueryMobile的“pageinit”而不是“document.ready”。但该应用程序是为所有平台开发的,包括台式机、平板电脑和移动设备 那么在这种情况下,合适的解决方案是什么?在所有页面上从document.ready更改为pageinit非常繁琐 j
那么在这种情况下,合适的解决方案是什么?在所有页面上从document.ready更改为pageinit非常繁琐 jquery mobile没有阻止
$(文档)。就绪()
当DOM完全加载时,将触发ready事件。jquery mobile的最大优势之一是ajax导航。如果单击某个链接,jqm不会再次加载整个页面。不它只加载带有role=“page”的div,并将其添加到DOM中并且当DOM不再加载时,您将不会获得第二个
就绪
事件。
要控制你的应用程序,你必须利用jquery mobile的事件。当一个页面(通过AJAX)加载到DOM中时,您可以准确地检测显示的页面
jquery mobile中有很多有趣的事件。pageshow和pagecreate(不是pageinit,因为pageinit在1.4.0中被弃用,取而代之的是pagecreate)
我包括了一些基本的例子。但是,还有更多的事件和方式来倾听它们
页面创建 页面创建(文档,一个)
这将在创建页面后执行。请注意,我使用了一个,但没有打开。
如果使用on而不是one,则在创建和增强页面时,每个页面都会触发此事件
$( document ).one( "pagecreate", function( event ) {
});
页面创建(特定页面)这将在创建id为page1的页面时触发
$("#page1" ).on( "pagecreate", function( event ) {
});
页面显示
页面显示(文档)
这将在每次显示页面时触发
$(document).on("pageshow", function( event ) {
});
$("#page1" ).on("pageshow", function( event ) {
});
页面显示(特定页面)每次显示id为page1的页面时都会触发此操作
$(document).on("pageshow", function( event ) {
});
$("#page1" ).on("pageshow", function( event ) {
});
什么是“第二屏”?JQM是一个框架,所以要使事情正常运行,您需要遵守该框架的规则。不要走捷径,因为你会发现它们很乏味是的,我知道dom ready不会被解雇,因为dom不会再次加载,我提到了pageinit,因为jQuery移动版本更低,现在也无法升级。正如我所提到的,在所有页面中更改或添加pageinit、pagecreate或其他事件是一项乏味的工作。寻找更简单的解决方案。