共享onload事件
写 JavaScript 时经常需要在网页加载后再执行JS,这里我们会使用 window.onload 事件。例如:
window.onload = fun;
但是如果有两个或两个以上函数时,假如我们写成这样:
window.onload = fun1;
window.onload = fun2;
事实上只会执行fun2这个函数,对此我们必须创建一个匿名函数来容纳要执行的内容:
window.onload = function () { fun1(); fun2(); }
这样写虽然能解决某些问题,但如果有多个 JavaScript 文件,每个文件都需要用到 window.onload 方法,这种情况用上面提到的方法编写代码则会非常麻烦。对于这种情况可以使用 Simon Willison 编写的一个实用脚本(详见http://simon.incutio.com)。
function addLoadEvent(func) { //将window.onload事件存入oldonload中 var oldonload = window.onload; if (typeof window.onload != 'function') { //如果没有绑定函数,则将绑定新函数 window.onload=func; } else { //如果已绑定函数,则将新函数追加到现在函数后面; window.onload=function() { oldonload(); func(); } } } addLoadEvent(alert('我可以不是函数')); addLoadEvent(fun1); addLoadEvent(fun2);