原文出自:http://www.php100.com/html/program/jquery/2013/0905/5954.html
1、執行時間上的區別:window.onload必須等到頁面內(包括圖片的)所有元素加載到瀏覽器中后才能執行。而$(document).ready(function(){})是DOM結構加載完畢后就會執行。
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(){}...