绑定onload事件---Javascript中防止onload事件被覆盖

    接触过Javascript的朋友可能会经常用onload事件,window.onload事件代表HTML页面加载完成后需要做的事。一般会写一些需要在页面加载后需要执行的一些函数,比如说初始化页面的效果或者样式,绑定些事件等函数。
    可是,多个js文件里都有window.onload事件,根据Javascript的特性,这样会导致window.onload互相覆盖,只有最后一个函数会起作用。
    比如这样的代码:
    
function f1(){
    alert(
"f1");
}

function f2(){
    alert(
"f2");
}


window.onload 
= function(){
    f1();
}

window.onload 
= function(){
    f2();
}
    你执行下看看效果是什么:)。可能会这样就把别的函数里需要加载的onload事件给覆盖了。
    养成好的习惯,用绑定事件来防止事件加载被覆盖。像下面这样写就可以了,这样想绑定多少个事件都可以了。(注意绑定后事件的触发次序)
    
    
<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>
posted @ 2007-12-18 09:27  一瞬间  阅读(1568)  评论(0编辑  收藏  举报