浏览 6040 次
锁定老帖子 主题:关于onload调用多个函数的认识
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-08-11
首先说一下onload的一个特点:只能有一个onload执行。这就要求我们不能通过onload="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产生执行的函数效果。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-08-13
没听说过addEventListener?
|
|
返回顶楼 | |
发表时间:2012-08-13
xingqiliudehuanghun 写道 没听说过addEventListener?
我也是菜鸟,只是讨论一下上诉方法的工作方式 |
|
返回顶楼 | |
发表时间:2012-08-14
看看jQuery的ready()的实现吧
|
|
返回顶楼 | |
发表时间:2012-08-14
IE8, Chrome21, Opera12测试完全没问题...
|
|
返回顶楼 | |
发表时间:2012-08-14
guanlicome 写道 看看jQuery的ready()的实现吧
最近要开始好好学JQuery了 |
|
返回顶楼 | |
发表时间:2012-08-14
bradwoo8621 写道 IE8, Chrome21, Opera12测试完全没问题...
工作是做测试的么 |
|
返回顶楼 | |
发表时间:2012-08-14
《javascriot dom 编程艺术》里的一个函数。
|
|
返回顶楼 | |
发表时间:2012-08-15
《javascriot dom 编程艺术》里的一个函数。
|
|
返回顶楼 | |
发表时间:2012-09-04
akon405 写道 bradwoo8621 写道 IE8, Chrome21, Opera12测试完全没问题...
工作是做测试的么 不是, 不过习惯了先拿来测试下 |
|
返回顶楼 | |