1. 程式人生 > >onload事件和ready方法的區別

onload事件和ready方法的區別

       $(document).ready()和window.onload在表面上看都是頁面載入時我們就去執行一個函式或動作,但是在

具體的細節上$(document) ready()和window onload還是有區別的。

1.執行時間

window.onload必須等到頁面內包括圖片的所有元素載入完畢後才能執行。 

  $(document).ready()是DOM結構繪製完畢後就執行,不必等到載入完畢。

可以這樣理解記憶:Document物件是Window物件的一個屬性,所以Window物件所需載入的時間比Document物件要長。

2.編寫個數不同

window.onload不能同時編寫多個,如果有多個window.onload方法,只會執行一個 (因為一個物件)

  $(document).ready()可以同時編寫多個,並且都可以得到執行

       舉個例子:我們需要為body新增一個<h1>元素,要等到所有的頁面資源載入完畢後才能執行程式碼,這樣我們就要利用DOM的window.onload事件,而不能使用ready()方法。

        如下所示:

        $(window).onload(function(){

                $('body').append('<h1>hello world</h1>');

        });

        它們還有以下形式的變化:

       window.onload == $("window").load(function(){});

       $(document).ready(function(){}) == $(function(){});