看完《Dom编程艺术》,总结window.onload绑定多个function的方法。
1.直接在 HTML 中编写:
<a onload="functionA();functionB()">
注意:不符合结构和行为分离的思想,所以不推荐采用这种方法。
2.创建一个匿名函数容纳需要调用的方法,然后将该匿名函数绑定到 onload 事件上:
window.onload = function () {
functionA();
functionB();
}
注意:最简单的解决方法
3.当需要调用的方法较多时,我们可以编写一个专门用于绑定 onload事件的方法:
function addLoadEvent(func) {
//把现有的 window.onload 事件处理函数的值存入变量
var oldOnload = window.onload;
if (typeof window.onload != "function") {
//如果这个处理函数还没有绑定任何函数,就像平时那样添加新函数
window.onload = func;
} else {
//如果处理函数已经绑定了一些函数,就把新函数添加到末尾
window.onload = function() {
oldOnload();
func();
}
}
}
//接下来,我们只需要调用这个方法添加自己需要的函数就行了
addLoadEvent(functionA);
addLoadEvent(functionB);
现在不管有多少个事件,都可以直接加载绑定。
参考:《JavaScript DOM 编程艺术(第二版)》