jquery中的ready函數與window.onload誰先執行

關於$(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.onloal是得在所有文件都加載完後執行的,注意區別,一個是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沒有本質的區別,都是指頁面載入完成後執行指定函數。

 

來源:http://hi.baidu.com/xiaowawa125/blog/item/69ca5bf808fdf708d8f9fd2c.html

 

做一個比較吧:

      window .onload =function (){alert ("welcome");}
     
      $(document).ready(
        function (){
           alert ("thanks for visiting!");
        }
      );

運行後你會發現 $(document).ready()先執行。

 

 

這裏有篇文章專門討論: Application Events 文章標題ASP.NET AJAX In-Depth: Application Events

http://www.stephenwalther.com/blog/archive/2008/03/07/asp-net-ajax-in-depth-application-events.aspx

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章