在html頁面中某段js中調用了window.onload = function test1(){},同時在頁面上又有<body onlocad="test2();">語句,
這將會導致window.onload事件覆蓋body onload事件,導致body onload事件無效.
解決方法:
第一:attachEven給onload添加所需運行的函數
if(document.all){
window.attachEvent('onload',FuncName)
}else{
window.addEventListener('load',FuncName,false);
}
第二:把兩個初始化函數再組成一個新的函數
function init(){}
function myfun(){}
function myinit(){
init();
myfun();
}
window.onload=myinit;
第三:對兩個函數進行判斷加載方式
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof.window.onload!='function'){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
//添加要加載執行的事件:
addLoadEvent(aaa);
addLoadEvent(bbb);