jQuery中提供的$(document).ready事件。此事件会在DOM加载完毕后触发,而window.onload和body.onload都是在页面完全加载后触发。
jQuery文档处理程序介绍
jQuery中实现DOM加载完毕后的处理逻辑,只需要使用$(document).ready()事件。此事件函数成为jQuery文档处理程序。
function(){alert("document.ready")});
如果页面上有大的图片,js文件等外部资源需要加载,jQuery的文档处理程序会在其之前执行,而window.onload和body.onload是在所有的资源文件加载完毕后执行的。
ready()函数是jQuery“事件函数”中提供的一个jQuery对象函数,签名为:ready(fn)。fn是ready事件发生时执行的函数。
因为是jQuery对象函数,意味着可以在任何jQuery对象上调用:
$("body").ready(function(){alert("body.ready")});
ready()函数在使用时一定要注意对象是否具有ready事件。也可以使用$(fn)这种简化的形式:
文档处理程序的优势
如果脚本需要在页面加载时候执行,那么大多数脚本都可以放在$(document).ready()事件中。
web开发时,永远记住不要在DOM加载时修改DOM结构。
如果需要在加载时候修改的话,原始的做法是通过window.onload和body.onload来实现。或者根据document.readyState判断DOM的状态,如果是complete则操作。jQuery正是使用此道理。
jQuery文档处理程序$(document).ready的优点总结:
1避免在DOM加载时候修改DOM结构。
2在DOM加载后立刻执行,避免了等待时间。
3$(document).ready为多播时间,不会覆盖其他人绑定的事件。
4使用后绑定方式使代码和行为分离。低入侵性。
jQuery的文档处理程序是jQuery的核心,以后应该将页面加载时需要执行的语句都放入$(document).ready事件中。
jQuery文档处理程序注意事项
虽然$(document).ready函数是在DOM加载完毕后立刻执行,但是需要注意:
事件中函数语句不能保证一定在资源文件加载前执行。这和事件函数的执行事件以及文件资源的加载时间都有关系。因为除了js文件,其他资源都是异步加载的,也就是说$(fn)的语句调用和资源文件的加载是同时的。
英文版:http://api.jquery.com