标签:
为了在网页加载完后,同时执行多个函数,Simon Willison写了function addLoadEvent(func):
function addLoadEvent(func){ var oldOnload = window.onload; if (typeof window.onload != ‘function‘){ window.onload = func; } else { window.onload = function(){ oldOnload(); func(); } } }
addLoadEvent工作流程:
把现有的window.onload事件处理函数的值存入变量oldonload。
如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它;
如果在这个处理函数已经绑定了一些函数,就把函数追回到现有指令未尾。
浏览器加载html内容是自上而下的(默认),而JS一般是在哪里引入——想想如果JS里面包含了一些即时执行指令,
它会操作根本不存在元素节点(因为还没有加载完)会有什么后果?结果就是出错。
addLoadEvent可以实现无论有多少个函数,都能让它们同时和window.onload事件绑定。
标签:
原文地址:http://my.oschina.net/mtime/blog/375711