前端中onload與ready的區別


 

Jquery的ready()與Javascrpit的load()

 

1 window.onload() $(document).ready()
加載時機 必須等待網頁全部加載完畢(包括圖片等),然后再執行JS代碼 只需要等待網頁中的DOM結構加載完畢,就能執行JS代碼
執行次數 只能執行一次,如果第二次,那么第一次的執行會被覆蓋 可以執行多次,第N次都不會被上一次覆蓋
舉例

以下代碼無法正確執行:

window.onload = function() { alert(“text1”);};

 

window.onload = function() { alert(“text2”);};

結果只輸出第二個

結果只輸出第二個

$(document).ready(function(){alert(“Hello”)});

 

$(document).ready(function(){alert(“Hello”)});

結果兩次都輸出

簡寫方案 $(function () {})

 

一般情況下window的load()都是用來設置body標簽的onload事件.但onload事件是要在頁面的元素全部加載完了才觸發的,這也包括頁面上的圖片,以及大的表格數據。如果頁面上圖片較多或圖片太大,加載需要較多時間,就會導致頁面無響應,或者用戶做了其它操作了。

而Jeuery中的ready()則是在頁面的dom(節點)加載完后就可以做相應的操作,而不用等待全部元素加載完成.比如只知道頁面某處有一張圖片,而不一定要等它顯示出來就可以為它綁定點擊方法。

 

https://www.cnblogs.com/wsun/p/3916487.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM