根據ready()方法的API說明http://api.jquery.com/ready/html
這個方法接收一個function類型的參數ready(handler), 方法的做用是: Specify a function to execute when the DOM is fully loaded.jquery
即當DOM加載完畢的時候,執行這個指定的方法.api
由於只有document的狀態ready以後,對page的操做纔是安全的.瀏覽器
$(document).ready()僅在DOM準備好的時候執行一次.安全
與之相比,load事件會等到頁面渲染完成執行,即等到全部的資源(好比圖片)都徹底加載完成的時候.測試
$(window).load(function(){…})會等整個頁面,不單單是DOM,還包括圖像和iframes都準備好以後,再執行.spa
而ready()是在DOM準備好以後就執行了,即DOM樹創建完成的時候.因此一般ready()是一個更好的時機.htm
若是DOM初始化完成以後再調用ready()方法,傳入的新的handler將會當即執行.blog
注意:ready()方法屢次調用,傳入的handler方法會串聯執行(追加).事件
而JavaScript中,window.onload是賦值一個方法,即後面的會覆蓋掉前面的.
一系列測試結論 ,詳細看連接
結論:觸發前後次序
在Chrome中:
ready()
window.onload==document.body.onload
<body onload=「">
在FireFox中:
ready()
window.onload==<body onload=「」>==document.body.onload
此分析的結果跟瀏覽器,甚至瀏覽器版本相關,本文寫於2015.2.6
Chrome Version: 40.0.2214.94
FireFox Version: 35.0
轉發:http://www.cnblogs.com/mengdd/p/4276801.html