绑定onload事件---Javascript中防止onload事件被覆盖
接触过Javascript的朋友可能会经常用onload事件,window.onload事件代表HTML页面加载完成后需要做的事。一般会写一些需要在页面加载后需要执行的一些函数,比如说初始化页面的效果或者样式,绑定些事件等函数。
可是,多个js文件里都有window.onload事件,根据Javascript的特性,这样会导致window.onload互相覆盖,只有最后一个函数会起作用。
比如这样的代码:
养成好的习惯,用绑定事件来防止事件加载被覆盖。像下面这样写就可以了,这样想绑定多少个事件都可以了。(注意绑定后事件的触发次序)
可是,多个js文件里都有window.onload事件,根据Javascript的特性,这样会导致window.onload互相覆盖,只有最后一个函数会起作用。
比如这样的代码:
function f1(){
alert("f1");
}
function f2(){
alert("f2");
}
window.onload = function(){
f1();
}
window.onload = function(){
f2();
}
你执行下看看效果是什么:)。可能会这样就把别的函数里需要加载的onload事件给覆盖了。alert("f1");
}
function f2(){
alert("f2");
}
window.onload = function(){
f1();
}
window.onload = function(){
f2();
}
养成好的习惯,用绑定事件来防止事件加载被覆盖。像下面这样写就可以了,这样想绑定多少个事件都可以了。(注意绑定后事件的触发次序)
<script type="text/javascript" language="javascirpt">
if(document.addEventListener){
window.addEventListener('load',f,false);
window.addEventListener('load',f1,false);
}else{
window.attachEvent('onload',f);
window.attachEvent('onload',f1);
}
function f(){
alert("f");
}
function f1(){
alert("f1");
}
</script>
if(document.addEventListener){
window.addEventListener('load',f,false);
window.addEventListener('load',f1,false);
}else{
window.attachEvent('onload',f);
window.attachEvent('onload',f1);
}
function f(){
alert("f");
}
function f1(){
alert("f1");
}
</script>