当前位置: 首页 > 图文教程 > 网络编程 > Javascript > window.onload和body onload

Javascript
添加到收藏夹代码(兼容几乎所有的浏览器)
innerHTML在Mozilla Firefox和Opera下执行的一个特例情况。
尽可能写"友好"的"Javascript"代码
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
添加一个以前写的table的spliter给大家
鼠标滚轮编程
googlemap 之 javascript实现方法
Javascript - 全面理解 caller,callee,call,apply
简单的仿Flash文字动画(兼容Mozilla)
客户端脚本中常常出现的一些问题和调试技巧
Prototype使用指南之hash.js
做网页的一些技巧(续)
JavaScript中“+=”的应用
Javascript的IE和Firefox兼容性汇编(zz)
js滚动条多种样式,推荐
微调数字
Div上下居中
初探jquery:表单应用范例
[原创]保存的js无法执行的解决办法
用javascript实现“闪动”标题栏

Javascript 中的 window.onload和body onload


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 221 ::
收藏到网摘: n/a

昨晚有一段进站滤镜效果失效,
研究发现,某段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);