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

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

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

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

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

guess一下會出現什麼結果?
結果如下:
彈出"two"對話框
彈出"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》 -人民郵電出版社

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