博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

在html中使用window.onload和onload的区别

Posted on 2012-09-21 10:04  feng1825  阅读(8668)  评论(0编辑  收藏  举报

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