自定义addLoadEvent函数为body.onload事件绑定多个函数

addLoadEvent可以实现无论有多少个函数,都能让它们同时和window.onload事件绑定。

 

addLoadEvent工作流程: 

1 把现有的window.onload事件处理函数的值存入变量oldonload。 
2 如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它; 
3 如果在这个处理函数已经绑定了一些函数,就把函数追回到现有指令未尾。 
4 浏览器加载html内容是自上而下的(默认),而JS一般是在哪里引入——想想如果JS里面包含了一些即时执行指令,它会操作根本不存在元素节点(因为还没有加载完)会有什么后果?结果就是出错。 

 

addLoadEvent()函数代码: 

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

调用方法: 

addLoadEvent(firestFunction); 
addLoadEvent(secondFunction); 

 

 

本文内容来源:脚本之家http://www.jb51.net/article/21707.htm

posted @ 2012-09-06 01:59  windrainpy-前端开发  阅读(347)  评论(0编辑  收藏  举报