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

來源:互聯網
上載者:User

關於$(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()先執行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.