本文介绍在网页加载完成后执行多个函数的两种方案。方案一通过创建匿名函数依次调用各函数并绑定至window.onload;方案二采用Simon Willsion编写的addLoadEvent函数,该函数能保存原有处理函数并将新函数追加执行,确保多个事件处理逻辑均能正确运行。
window.onload绑定多个事件的两种解决方案
前言
部分函数需要在网页完全加载后才能执行,例如涉及DOM操作的代码。
当网页加载完成时,会触发onload事件,将函数绑定到该事件即可实现执行。
代码如下:
window.onload = myFunction;
问题在于:如果需要同时绑定多个事件,该如何处理呢?有两种解决方法
方案一
创建一个匿名函数,来容纳需要绑定的多个事件,再讲这个匿名函数绑定到onload事件上
window.onload = function(){
firstFunction();
secondFunction();
......
}
方案二
由Simon Willsion编写的addLoadEvent函数:
function addEventLoad(func){
var oldOnload = window.onload;
if(typeof window.onload != 'function'){
window.onload = func;
}else{
window.onload = function(){
oldOnload();
func();
}
}
}
将现有的window.onload事件处理函数的值存入变量oldOnload 如果这个处理函数上还没有绑定函数,则和那样把新函数绑定给它。 如果已经绑定了函数,则把新的函数追加到指令的末尾。
调用方法:
addEventLoad(firstFuction);
addEventLoad(secondFuction);
以上内容是小编通过两种方案给大家介绍的window.onload绑定多个事件的方法,希望对大家有所帮助!