首先,我們假設網頁中有兩個函數,Js代碼如下:
function one(){
alert("one");
}
function two(){
alert("two");
}
當網頁加載完畢時,分別調用one,two函數:
window.onload=one;
window.onload=two;
guess一下會出現什麼結果?
結果如下:
彈出"two"對話框
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》 -人民郵電出版社