JavaScript学习笔记之共享onload事件

写JavaScript时,有时会需要给window.onload事件绑定多个函数,但当代码比较长的时候,将所有需要绑定的函数整合在一起会显得比较困难,而将多个函数分别绑定到window.onload时,只有最后绑定的才会被实际执行.

       所以寻找一个弹性的解决方案就十分有必要.通过下述的addLoadEvent函数,不管需要在页面加载完毕时绑定多少个函数,,只需调用addLoadEvent即可.

       addLoadEvent是由Simon Willison编写的.代码如下:

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

       addLoadEvent函数的工作流程如下:

1.将window.onload事件处理函数的值赋给oldonload

2.若window.onload并未绑定函数,则将传入的参数func赋给它

3.若window.onload已绑定函数,则将func追加至现有函数的末尾

可以看出在将addLoadEvent函数添加至JS代码后,当需要给window.onload事件增加函数时,只需要调用addLoadEvent(),传入所需追加的函数名就可以了.

猜你喜欢

转载自blog.csdn.net/zxuan5h2ljojo/article/details/78344102