window.onload()函数和jQuery中的document.ready()区别
Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过相比较而言还是有区别的。
1.执行时机
window.onload()是必须等图片在内的一切元素加载完成后才能执行。 $(document).ready()是当DOM结构完成后就执行,不必等到全部元素加载完毕。
2.编写个数
window.onload()只能编写一个,当写多个的时候会把前面所写的覆盖,只执行一个。 $(document).ready()可以写多个,并且可以同时执行。
3.简化写法
window.onload没有简化写法
$(document).ready(function(){})可以简写成$(function(){});
| window.onload() | $(document).ready() | |
|---|---|---|
| 执行时机 | 必须等待网页中所有的内容加载完毕后(包括图片)才能执行 | 网页中所有DOM结果绘制完毕后就执行,可能DOM元素关联的东西并没有加载完 |
| 编写个数 |
不能同时编写多个
以下代码无法正确执行:
window.load = function() {
alert("test1");
};
window.load = function() {
alert("test2");
};
结果只会输出“test2”
|
能同时编写多个
以下代码可以正确执行:
$(document).ready(function(){
alert("Hello World!");
});
$(document).ready(function(){
alert("Hello again!");
});
结果两次都输出
|
| 简化写法 | 没有简化写法 |
$(document).ready(function(){
...
});
可以简写成:
$(function(){
...
});
|
浙公网安备 33010602011771号