首页 > 开发 > 综合 > 正文

window.onload和body onload

2024-07-21 02:04:34
字体:
来源:转载
供稿:网友

昨晚有一段进站滤镜效果失效,
研究发现,某段js中调用了window.onload = function()属性,同时在页面上又有body onload语句。导致window.onload事件覆盖掉body onload事件。

解决方法:

attachevent给onload添加所需运行的函数

  1. if (document.all){
  2. window.attachevent('onload',funcname)
  3. }
  4. else{
  5. window.addeventlistener('load',funcname,false);
  6. }

或者把两个初始化函数再组成一个新的函数

  1.   function myinit()
  2.   {//两个函数合并下
  3.   init();
  4.   myfun();
  5.   }
  6.   window.onload=myinit;

另外,见过书上有这样的写法:

  1. function addloadevent(func){
  2. var oldonload=window.onload;
  3. if(typeof window.onload!='function'){
  4. window.onload=func;
  5. }else{
  6. window.onload=function(){
  7. oldonload();
  8. func();
  9. }
  10. }
  11. }
  12. //添加要加载执行的事件:
  13. addloadevent(aaa);
  14. addloadevent(bbb);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表