jQuery 中 $(document).ready()事件与js中window.onload()事件的区别

来源:互联网 发布:js传值input 编辑:程序博客网 时间:2024/05/16 10:21

轉自:http://blog.csdn.net/yinyaling/article/details/5495779

$(document).ready() 是jQuery响应,javascript中的onload()事件并执行函数处理的快捷方式.虽然两个事件在执行效果有很大的相似性.

但是两者在触发时间上有比较大的差异.

    当一个网页完全下载到客户端浏览器之后,才会触发window.onload()事件,页面完全下载后,页面中所有的DOM元素都是可以访问的.这种方式有一个很大的优点:不用考虑DOM元素加载的顺序.

    而$(document).ready()事件,则是在DOM完全就绪时触发,并不要求页面所有DOM元素加载到浏览器.当HTML解析为DOM元素之后,事件就可以运行了.这种方式优于onload()事件在于:$(document).ready()可以在页面没有完全下载时,操作页面的DOM元素.

    举个直观的例子:如果某个页面需要处理很多的图像,我们就可以利用ready()事件来控制图像<image>元素的行为,比如显示隐藏,翻转图像等等.而如果用widow.onload()事件则需要等页面所有的图像完全下载之后,才可以访问图像元素.而如果需要给图像添加链接,则也是需要在所有的图像下载完成之后,才可以看出效果了.

   所以在这种情况下我们更应该使用$(document).ready()事件了.

   但如果想操作图像的高度宽度等属性,则用onload()事件等待图像下载完毕之后,才可以访问图像的第个属性了.

   在jQuery中也提供了一等效于onload()的事件的 .load()方法.


0 0