您的位置:首页 > Web前端 > JQuery

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

2015-03-20 11:12 956 查看
轉自: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()方法.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: