在给网页加一些特效时经常要在<body>中加入“onload”事件,即在网页加载完后执行某事件,例如:<body οnlοad=”alert(‘欢迎光临!’)”,但这样做有个大的缺陷,事件会在网页完全下载完后才会执行,包括网页中的图片或Flash等,如果网页中的图片比较大或有很多图,可能还没等网页完全下载完网友已经点击链接到其它网页去了,这样这个事件就没有执行了。另外在某些特殊情况下可能还修改不了网页的body参数。如在别人网站发表文章时,或用CMS整站系统时。   这时我们会想到用“window.onload”或“document.body.onload”来替换<body>中的onload事件,的确,问题解决了,但在加载多个onload事件时或控制加裁顺序时还会出现一些问题,直到我发现“Paul Koch”写的addLoadEvent()函数后,所有问题都解决了。如果大家一定要用“window.onload”或 “document.body.onload”来替换<body>中的onload事件,建议大家用前者,Firefox浏览器中无效,即兼容性有问题。

JavaScript代码
function addLoadEvent(func) {

var oldonload = window.onload;

if (typeof window.onload != 'function') {

window.onload = func;

} else {

window.onload = function() {

if (oldonload) {

oldonload();

}

func();

}

}

}

//调用方法:

addLoadEvent(页面加裁函数名);

//或

addLoadEvent(function() {

//更多页面加裁代码

});   

推荐大家以后都用addLoadEvent()函数来替换<body>中加入“onload”事件。addLoadEvent ()自定义代码来源于:http://www.simonwillison.net/2004/May/26/addLoadEvent/

# function addLoadEvent(func) {

#     var oldonload = window.onload;

#     if (typeof window.onload != 'function') {

#         window.onload = func;

#     } else {

#         window.onload = function() {

#             if (oldonload) {

#      oldonload();

#             }

#             func();

#         }

#     }

# }

# addLoadEvent(function() {

#     document.body.style.backgroundColor = 'yellow';

# })

转载于:https://www.cnblogs.com/leejersey/archive/2012/03/10/2389614.html

一个实用的JS自定义函数addLoadEvent()相关推荐

  1. js自定义函数及参数问题

    js自定义函数的过程中,往往我们希望指定一些参数的默认值 很容易的会写出如下的js 方法 function test(a,b,c=1,d='id'){ return 1; } 但是定义完之后,浏览器会 ...

  2. Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数【含代码】)- 案例篇

    文章目录 Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数[含代码])- 案例篇 效果截图: 重要代码: 附:全部HTML代码: Ajax异步请求(重渲染DOM元素时,如何自动调 ...

  3. 100个不能错过的实用JS自定义函数

    转载地址:http://www.bitscn.com/school/JavaScript/201408/306460.html 1.原生JavaScript实现字符串长度截取代码如下: functio ...

  4. 40个实用JS自定义函数(二)

    原生JavaScript常用的正则表达式 代码如下://正整数 /^[0-9]*[1-9][0-9]*$/; //负整数 /^-[0-9]*[1-9][0-9]*$/; //正浮点数 /^(([0-9 ...

  5. 常用原生js自定义函数

    js获取日期函数 //获取当前时间日期 function CurentTime() {var now = new Date();var year = now.getFullYear(); //年var ...

  6. matlab 调用函数本身,怎么在matlab自定义函数中再调用一个自定义函数?

    Matlab自定义函数的七种方法1.函数文件+调用命令文件:需单独定义一个自定义函数的M文件.2.函数文件+子函数:定义一个具有多个自定义函数的M文件.3.Inline:无需M文件,直接定义.4.匿名 ...

  7. WordPress开发入门08:自定义函数和WordPress钩子

    当我们创建自定义主题或插件时,通常必须编写自己的PHP代码.这些代码通常存储在自定义函数中.我们知道函数是可复用的代码块,只要你需要就可以重复调用. 现在来看看几个WordPress常见的使用自定义函 ...

  8. Oracle自定义函数

    2019独角兽企业重金招聘Python工程师标准>>> Oracle自定义函数 用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(val ...

  9. oracle自定义函数获取省份,oracle 自定义函数 方法 基本例子

    核心提示:函数用于返回特定数据.执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1] da ...

最新文章

  1. 某34岁程序员哀叹:北京有一套房和160万现金,但500万的股票缩水到70万,上周刚失业,今天跟女友分手,心态崩了!...
  2. php windows应用开发,开发老手谈Windows平台的PHP应用开发
  3. python拷贝是什么知识点_python闭包、深浅拷贝、垃圾回收、with语句知识点汇总...
  4. 《剑指offer》跳台阶
  5. 单片机与PC机一样都是计算机,51单片机与PC机通信资料
  6. 成都Uber优步司机奖励政策(4月2、3日)
  7. 苹果汽车自动驾驶又出新信号:正与多家激光雷达供应商谈判
  8. QTP学习笔记----2013.04.25
  9. Android开发笔记(一百二十九)使用变换图形
  10. 【优化算法】人工鱼群优化算法(AFSA)【含Matlab源码 1078期】
  11. 瑞星力荐金山毒霸 原来是广告程序 作崇
  12. 抓考研英语单词主要矛盾的经验分享,考研英语真题词频统计
  13. 树莓派+英特尔神经网络计算棒
  14. 设计模式学习之组合模式
  15. Redis Cluster集群原理+三主三从交叉复制实战+故障切换(十)
  16. Markdown 并排显示图片
  17. EasyCVR视频融合共享平台作为国标上级平台接入紫光华智云平台的流程解析
  18. Jetson TX2刷机(Jetpack4.2.0)
  19. Vim 批量在行首/行尾插入相同字符
  20. google APP 说明

热门文章

  1. jQuery Howto: 如何快速创建一个AJAX的加载的图片效果
  2. SocketType 枚举----指定 Socket 类的实例表示的套接字的类型
  3. 找个轻量级的Log库还挺难
  4. 复杂度及圈复杂介绍介绍
  5. 1007. 素数对猜想 (20)-PAT乙级真题
  6. 蓝桥杯 ALGO-30算法训练 入学考试(01背包,动态规划)
  7. DevOps正在扼杀程序员?
  8. linux 下运行 jar包 java.lang.ClassNotFoundException: 解决办法
  9. 无法启动 nexus 服务,错误1067:进程意外终止。java环境变量设置技巧。
  10. 虚拟机Ubuntu 挂载硬盘