关于onload调用多个函数的认识

首先说一下onload的一个特点:只能有一个onload执行。这就要求我们不能通过οnlοad="function()"来调用多个函数。

这里通过查找到的资料,有这种方式:

<script>
	function t(){
		alert("t")
	}
	function b(){
		alert("b")
	}
	function c(){
		alert("c")
	}
	function addLoadEvent(func) {
		var oldonload = window.onload;

		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
			oldonload();
			alert(oldonload);//这是添加的测试代码
			func();
			}
		}
	}
addLoadEvent(t);
addLoadEvent(b);
addLoadEvent(c);
</script>	

 这里的alert(oldonload)详细记录了函数内部发生的变化:

 addLoadEvent(t)执行后会包含t()函数,addLoadEvent(b)会包含t(),b()函数,addLoadEvent(c)却包含了      t(),b(),c()三个函数。

但是到了最后,只有addLoadEvent(c)才可以通过window.onload产生执行的函数效果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值