您的位置:首页 > Web前端 > JavaScript

javascript中window.onload和body onload冲突的解决方法

2010-11-19 09:26 169 查看
如果在js中调用了window.onload = function(),同时在页面上又有body onload语句,会导致window.onload事件覆盖掉body onload事件而出现错误.

解决方法:
attachEvent给onload添加所需运行的函数
if (document.all){
window.attachEvent('onload',FuncName)
}
else{
window.addEventListener('load',FuncName,false);
}

或者把两个初始化函数再组成一个新的函数
  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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: