天天看点

ready和onload的区别

1. $(document).ready 在DOM树加载完成后就会执行,不必等到页面中图片或其他外部文件都加载完毕。并且可以写多个.ready。

$(document).ready(function(){
	alert('1')
})
$(document).ready(function(){
	alert('2')
})
//结果两次都输出 
           

2. window.onload是在页面资源(比如图片和媒体资源,它们的加载速度远慢于DOM的加载速度)加载完成之后才执行

因为页面中的代码一般情况下按照,从上到下,从左到右的顺序执行。所以当js代码需要获取页面中的元素时,如果script标签在元素的前面,需要加window.onload;如果script放在了元素后面,就不需要加 window.onload。
//以下代码无法正确执行:
window.onload=function(){
	console.log("123");
}
window.onload=function(){
	console.log("345");
}
//结果只输出第二个 能同时编写多个 
           

 Jquery代码如下:

$(window).load(function ()
{ 

});
           

在高版本的jquery.js中会报一下错误 Uncaught TypeError: e.indexOf is not a function,应该使用下面的写法

$(window).on('load',function(){
    console.log(1);
})

$(window).on('load',function(){
    console.log(2);
})

//两个都会执行(页面可以写多个)