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

Javascript
JavaScript 解析Json字符串的性能比较分析代码
js 日期字符串截取分割成单个具体的日期(2009-12-30 13:28:29)
javascript 倒计时代码
javascript 语法基础 想学习js的朋友可以看看
javascript获取元素文本内容的通用函数
javascript 动态设置已知select的option的value值的代码
jquery 简单的图片展示效果
js textarea自动增高并隐藏滚动条
Javascript 中介者模式实例
textbox 在光标位置插入字符功能的js实现(兼容ie,firefox)
jQuery Attributes(属性)的使用(二、类篇)
Javascript document.referrer判断访客来源网址
[原创]javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox]
javascript获得光标所在的文本框(text/textarea)中的位置
event.srcElement 用法笔记e.target
javascript 导出数据到Excel(处理table中的元素)
javascript DOM操作之动态删除TABLE多行
Javascript在IE或Firefox下获取鼠标位置的代码
Javascript 多浏览器兼容性问题及解决方案
让div层随鼠标移动的实现代码 ie ff

Javascript 中的 window.onload和body onload


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 225 ::
收藏到网摘: 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);