我有一段JavaScript代碼。而且我不太瞭解它。 你可以一行一行地對我進行擴展嗎?非常感謝。關於window.onload在javascript中的困惑
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
這裏是我在想什麼:
function addLoadEvent(func) { //define a function with a parameter 'func'
var oldonload = window.onload; //assign window.onload event to variable oldonload
if (typeof window.onload != 'function') { //if window.onload is not a function, then...
window.onload = func; //assign 'func' to window.onload event. what does func mean?
} else { //if window.onlad is a function
window.onload = function() { //don't understand
oldonload(); //call function oldonload()
func(); //call function func()
}
}
}
困惑:
的window.onload已經是一個事件,爲什麼我們使用的typeof?
function addLoadEvent(func),window.onload = func,func()。這些funcs有什麼區別?
我很抱歉張貼新手問題。但是,感謝任何給我一些指導的人?
編輯:
這是由Simon Willison改進的原始代碼。
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
這是一個老版本的一些代碼最初是由西蒙·威利森在2004年寫的:http://simonwillison.net/2004/May/26/addLoadEvent/注西蒙在2006年更新了代碼,以解決IE7上的潛在問題 - 您可能想要納入他的更新。 – NickFitz 2010-01-12 15:31:01
感謝您的信息NickFitz。我已經檢查過它。 – 2010-01-12 15:38:38
謝謝大家的回覆和解答。 :) – 2010-01-12 15:43:43