您的位置:首页 > 其它

关于onload事件

2016-05-17 10:40 225 查看
为了让函数在网页加载完毕后立即执行,网页加载完毕后会出发一个onload事件,这个事件与window对象关联,必须把函数绑定到这个时间上,有两种解决方案:

1.常见解决方案:

先创建一个匿名函数来容纳函数,然后把匿名函数绑定到onload事件上;如下所示:

window.onload=function(){
firstFunction();
secondFunction();
}


2.弹性最佳解决方案—不管页面加载完毕时执行多少个函数,它都可以应付自如;这个函数名是addLoadEvent,由Simon Willison编写。只有一个参数:打算页面加载完毕时执行的函数的名字。

下面是addLoadEvent函数完成的操作:

把现有的window.onload事件处理函数的值存入变量oldonload;

如果这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它;

如果这个处理函数上已经绑定了一些函数,就把新函数追加到现有指令的末尾。

下面是addLoadEvent函数的代码清单:

function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload != 'function'){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
};

//这将把那些在页面加载完毕执行的函数创建为一个列队

addLoadEvent(firstFunction);
addLoadEvent(secondFunction);


所有内容均来自《JavaScript DOM 编程艺术(第2版)》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 解决方案