天天看點

你可能會遺忘onload的知識點詳解

首先,我們假設網頁中有兩個函數,Js代碼如下:

function one(){
        alert("one");
}
function two(){
        alert("two");
}                  

當網頁加載完畢時,分别調用one,two函數:

window.onload=one;
window.onload=two;           

guess一下會出現什麼結果?

結果如下:

彈出"two"對話框

你可能會遺忘onload的知識點詳解

reason:

onload事件一次隻能儲存對一個函數的引用,它會自動用後面的函數覆寫前面的函數,是以不能在現有的行為上添加新的行為。

為了達到兩個函數順序觸發的效果,我們隻能再建立一個新的js方法來實作,代碼如下:

window.onload = function(){
            one();
            two();
}           

But, 如果有多個js檔案,每個檔案都需要用到

window.onload

方法,這種方法會很麻煩。這裡我們使用jQuery的

$(document).ready()

方法,每次調用

$(document).ready()

方法都會在現有的行為上追加新的行為,這些行為會根據注冊的順序依次執行,代碼如下:

function one(){
                alert("one");
            }
    function two(){
                alert("two");
            }
    $(document).ready(function(){
                one();
            });
    $(document).ready(function(){
                two();
            });           

End

ps:部分摘選自《鋒利的jQuery》 -人民郵電出版社

繼續閱讀