A.關於$(document).ready():
jquery中的$(document).ready(),那$(document).ready()到底是什麼作用呢?是不是可以用window.onload = function(){ ... }來實現呢?
這裡,我們要明確二者之間的區別。
我們使用window.onload = function(){ ... },是希望在頁面被載入時執行function中的處理,但是這些JS代碼只有在頁面上的全部內容加載完成(包括頭部的banner廣告,所有圖片)的時候才會執行。將window.onload放在最上邊的原因就是當你第一次運行codes的時候,HTML'document'還沒有加載完成。
而$(document).ready()卻不需要載入得這麼“完全”。$(document).ready()是在DOM結構載入完後執行的,而 window.onload是得在所有文件都加載完後執行的,注意區別,一個是DOM加載完,一個是所有文件加載完。因此,ready肯定在onload 之前發生,頁面加載大或者多的圖片而使onload執行延後,使用jquery的ready可緩解此問題。
我們應該緊記,jquery的ready是指在頁面的DOM模型加載完後執行指定的函數。之所以經常用$(document).ready()來取代 window.onload,就是因為它是在dom模型加載完成後就執行,而window.onload是在dom元素加載完全後才執行。
B.關於document.onload和window.onload:
document.onload和window.onload沒有本質的區別,都是指頁面載入完成後執行指定函數。
做一個比較吧:
window .onload =function (){alert ("welcome");} $(document).ready( function (){ alert ("thanks for visiting!"); } );
運行後你會發現 $(document).ready()先執行。