在做前端工作中,我们想要设置某个函数prepare,让它在网页加载完毕后执行,会触发一个onload事件,这个事件与windows对象相关联,必须把prepare函数绑定到这个时间上,语法如下:window.onload=prepare;

     这个方法可以解决我的问题,但是,如果我有两个函数firstfunc和secondfunc,我想让他们两个都在页面加载完成后得到执行,我该怎么做呢?

     window.onload=firstfunc;

     window.onload=secondfunc;

     像这样逐一绑定,运行结果是secondfunc将会取代firstfunc,我们会这样想,既然每个事件处理函数只能绑定一条指令,那我可以这样来做,我先创建一个匿名函数来容纳这两个函数,然后把匿名函数绑定到onload事件上,如下所示:

     window.onload=function(){

    firstfunc();

    secondfunc();

     }

     它确实能很好地工作-----在需要绑定的函数不是很多的场合,这是最简单的解决方案。

     下面我给大家分享一种最近学到的很有弹性的解决方案,这个方案需要额外多写代码,写了这些代码,把函数绑定到onload事件就很简单了,函数如下:

     

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

     当需要绑定某个函数到onload事件上时,只需要调用这个函数:addLoadEvent(函数名);即可。

posted on 2016-08-21 21:52  薰衣草的花语  阅读(175)  评论(0编辑  收藏  举报