jquery mobile document.ready vs div.live

时间:2011-08-10 20:11:53

标签: jquery jquery-mobile

我什么时候使用$('div')。在jquery mobile中使用live('pageshow',function()?它是否完全替换$(document).ready?

$(document).ready(function() 

$('div').live('pageshow', function () 

2 个答案:

答案 0 :(得分:4)

当您关注jQuery Mobile网站上的内部链接时,该页面将加载AJAX。但是,仅加载内容(<body>)。因此,如果您希望在加载页面时执行某些操作,则需要使用.live(pagecreate, function())函数。

$('#aboutPage').live('pagecreate',function(event){
     alert('This page was just enhanced by jQuery Mobile!');
});

jQuery Mobile Documentation - Page Scripting

答案 1 :(得分:0)

对于单个浏览器会话,Firefox 1.5对整个网页使用内存缓存,包括其JavaScript状态。在访问页面之间前后移动不需要加载页面,并且保留JavaScript状态。此功能被某些人称为bfcache(用于“后退缓存”),使页面导航速度非常快。在用户关闭浏览器之前,将保留此缓存状态。

pageshow活动

此事件与load事件的作用相同,不同之处在于每次加载页面时都会触发(而当从缓存加载页面时,加载事件不会在Firefox 1.5中触发)。第一次加载页面时,pageshow事件在加载事件触发后立即触发。 pageshow事件使用名为persisted的布尔属性,该属性在初始加载时设置为false。如果它不是初始加载,则设置为true(换句话说,在缓存页面时将其设置为true)。

https://developer.mozilla.org/en/Using_Firefox_1.5_caching