平常做專案 常常需要使用window.onload,
用法如下:
function func(){alert("this is window onload event!");return;}
window.onload=func;
或如下:
window.onload=function(){alert("this is window onload event!");return;}
但window.onload 不能同時載入多個函數。
例如:
function t(){
alert("t")
}
function b(){
alert("b")
}
window.onload =t ;
window.onload =b ;
後面會把前面的覆蓋,上面程式碼只會輸出 b。
此時可用下列方法解決:
window.onload =function() { t(); b(); }
另一種解決方法如下:
function t(){
alert("t")
}
function b(){
alert("b")
}
function c(){
alert("c")
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload ! > window.onload = func;
} else {
window.onload = function() {
}
addLoadEvent(t);
addLoadEvent(b);
addLoadEvent(c);
//等價於 window.onload =function() { t(); b(); c( ) ;}
個人以為直接使用隱式函數(如:window.onload =function() { t(); b(); c() ;})比較快捷,當然使用addLoadEvent更professional,各取所好吧!
JS window.onload追加函數:
複製程式碼
attachEvent 將指定函數綁定到事件,以便每當該事件在物件上觸發時都會呼叫該函數。
Internet Explorer 從 5.0 開始提供了一個 attachEvent 方法,使用這個方法,就可以為一個事件指派多個處理過程了。 attachEvent 對於目前的 Opera 也適用。但是 Mozilla/Firefox 並不支援這個方法。但是它支援另一個 addEventListener 方法,這個方法跟 attachEvent 差不多,也是用來指派一個事件多個處理過程的。但它們指派的事件有些區別,在attachEvent 方法中,事件是以“on” 開頭的,而在addEventListener 中,事件沒有開頭的“on”,另外addEventListener 還有第三個參數,一般這個參數指定為false就可以了。