前端筆試小結之$(document).ready() vs window.onload()

lsxj發表於2016-04-20

Q: $(document).ready(){} vs window.onload()

之前專案中總是使用$(document).ready(),由於在$(document).ready()方法內註冊的事件,只要DOM就緒就會被執行,因此可能此時元素的關聯檔案未下載完,則設定的屬性可能無效。
結果筆試那天自己還記反寫錯了。還是因為自己沒有理解。

  • $(document).ready()是在DOM樹構建好後就執行,
    window.onload()則是等待頁面所有元素都載入完成後才執行。

  • $(document).ready()可以有多個,每次呼叫$(document).ready()方法都會在現有的行為上追加新的行為,這些行為函式會根據註冊的順序依次執行,
    window.onload()只能執行一個,後面的函式會覆蓋前面的函式。

  • $(document).ready(function(){})通常可以簡寫為$(function(){}),
    $(window).load(function(){})等價於window.onload()

相關文章