zoukankan      html  css  js  c++  java
  • 共享onload事件

          在做前端工作中,我们想要设置某个函数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(函数名);即可。

  • 相关阅读:
    Arcgis中修改字段名方法
    题事件名称为CLR20r3
    【转】CLR20R3 程序终止的几种解决方案
    Ajax+asp.net无刷新验证用户名
    [转载]C/C++编译器cl.exe的命令选项
    [网络整理]DEBUG命令使用解析五
    [网络整理]DEBUG命令使用解析一
    [网络整理]DEBUG命令使用解析六
    [易学C#]C#3.0语言新特性
    [易学C#]C#3.0语言新特性之Lambda表达式
  • 原文地址:https://www.cnblogs.com/yxxlin/p/5793726.html
Copyright © 2011-2022 走看看