天天看點

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);
})

//兩個都會執行(頁面可以寫多個)