1. 程式人生 > >使用此函式新增任意數量的load事件處理函式

使用此函式新增任意數量的load事件處理函式

使用此函式,新增任意數量的load事件處理函式並且無需擔心他們有衝突。
考慮到W3C標準,IE以及根本不支援前兩者方法的老舊瀏覽器。
function addLoadListener(fn)
{
//W3C標準給事件增加監聽器的方法 addEventListener
if(typeof window.addEventListener !=’undefined’){
window.addEventListener(‘load’,fn,false);
}
//Opera中load事件可以激發來自<文件物件>的事件監聽器,不能激發來自<視窗物件>
//的事件監聽器。只使用<文件物件>老版本的Mozilla又不能工作。
else if(typeof document.addEventListener !=’undefined’){
document.addEventListener(‘load’,fn,false);
//IE給事件增加監聽器的方法 addEventListener
else if(typeof window.attachEvent !=’undefined’){
window.attachEvent(‘onload’,fn);
}
}
else{
var oldfn=window.onload;
if(typeof window.onload !=’function’){
window.onload =fn;
}
else{
window.onload =function(){
oldfn();
fn();
};
}
}
}