簡單說明window. onload和$(document). ready(function(){})的區別

window.onload和$(document).ready(function(){})的區別

繼續整理老筆記……

1、執行時間上的區別:

window.onload 必須等到頁面內(包括圖片的)所有元素加載到瀏覽器中後才能執行。
$(document).ready(function(){}) 是DOM結構加載完畢後就會執行。

所以,假如他倆同時存在的話,$(document).ready 會比 window.onload 先執行。

2、編寫個數不同:

window.onload 不能同時寫多個,如果有多個 window.onload,則只有最後一個會執行,它會把前面的都覆蓋掉。
$(document).ready(function(){}) 則不同,它可以編寫多個,並且每一個都會執行。

3、簡寫方法:

window.onload 沒有簡寫的方法。
$ (document).ready(function(){}) 可以簡寫爲 $(function(){})。

另外:由於在$ (document).ready() 方法內註冊的事件,只要DOM就緒就會被執行,因此可能此時元素的關聯文件未下載完,例如與圖片有關的HTML下載完畢,並且已經解析爲DOM樹了,但很有可能圖片還未加載完畢,所以例如圖片的高度和寬度這樣的屬性此時不一定有效。

要解決這個問題,可以使用JQuery中另一個關於頁面加載的方法—load() 方法。load() 方法會在元素的onload事件中綁定一個處理函數。如果處理函數綁定在元素上,則會在元素的內容加載完畢後觸發。如:$(window).load(function(){})=====window.onload = function(){}...

一般情況下,沒有意外的話,我用$(document).ready(function(){}) 會比較多~
但是當有些場景,元素都加載完畢,纔可以執行一些方法,比如說,一個按鈕需要等到圖片和其它元素都加載好了以後才能點擊,那麼就需要用到:window.onload=function(){…}

over 撒花✿✿ヽ(°▽°)ノ✿

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章