关于onload调用多个函数的认识 博客分类: js jswindow.onload
程序员文章站
2024-03-25 09:48:34
...
首先说一下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产生执行的函数效果。