• 共享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(函数名);即可。

  • 相关阅读:
    js中map和普通对象性能差距有多大?
    谈一谈在css中的wrapper
    react-loadable简单实现
    setstate源码分析
    react setstate()的秘密
    java io学习笔记二
    java8下 枚举 通用方法
    SLF4J、Log4J使用记录
    ByteBuffer flip描述
    unique within an element
  • 原文地址:https://www.cnblogs.com/yxxlin/p/5793726.html
Copyright © 2020-2023  润新知