在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);