本文主要讨论window.onload与$(document).ready()的差异性
window.onload是javascript原生的方法,$(document).ready()是jquery提供的。
1. window.onload与$(document).ready()的对比
注:
$(window).load(function () {
});
// 等价于
window.onload = function () {
};
2.window.onload
- 该方法是在网页中的所有元素、全部内容(包括元素的所有关联文件、窗口、框架、对象和图像)完全加载到浏览器后才执行。
- 执行该方法时可以访问网页中的任何元素。
- onload事件一次只能保存对一个函数的引用,它会自动用后面的函数覆盖前面的函数。
3.$(document).ready()
- 使用该方法可以在DOM载入就绪时(页面全部内容加载前)就对其进行操纵并调用执行它所绑定的函数。
- 通过该方法注册的事件处理程序,在DOM完全就绪时就可以被调用。DOM元素可以被访问,但是这些元素的关联文件不一定下载完毕,比如:图片。
- 每次调用$(document).ready()方法都会在现有的行为上追加新的行为,这些行为函数会根据注册的顺序依次执行。