• addLoadEvent(func)有关


    今天看编程艺术看到了这个函数,具体代码如下:

     1 function addLoadEvent(func) {
     2   var oldonload = window.onload;
     3   if (typeof window.onload != 'function') {
     4     window.onload = func;
     5   } else {
     6     window.onload = function() {
     7       if (oldonload) {
     8         oldonload();
     9       }
    10       func();
    11     }
    12   }
    13 }

    调用方法是:

    addLoadEvent(function() {   
        document.body.style.backgroundColor = 'yellow';   
    })   
    
    
    addLoadEvent(firstFunction);  

    因为我们知道在一个JS文件里面只能有一个window.onload事件,如果我们用window.onload = firstFunction; window.onload = secondFunction;那样的话secondFunction将取代firstFunction.

    PS,用jquery的事件可以重复调用,就是

    $(document).ready(function() {
    //doing... 
    });

    我们也可以这么写:

    window.onload = function(){
      firstFunction();
      secondFunction();
    }

    但是在绑定很多个函数的时候,这么写太麻烦了。。。

    所以才有了上面的addLoadEvent函数,

    这个函数要完成的操作是:

    1,把现有的window.onload事件处理函数的值存入变量oldonload。

    2,如果这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它。

    3,如果这个处理函数上已经绑定了一些函数,就把新函数追加到现有函数的尾部。

    这里比较巧妙的是在判断是福绑定函数的判断上,if(typeof window.onload != "function")。

  • 相关阅读:
    linux(centos)搭建SVN服务器
    应该具备的能力
    Oracle trunc()函数的用法
    Realistic View for Autodesk Revit 2021
    Snowman
    A Material-Texture Painting Tool
    A Color Picker based on manifold learning
    CPU Path Tracing Renderer
    Rig Space FEM Simulation
    MPM Snow Simulation
  • 原文地址:https://www.cnblogs.com/chijijuedi/p/2545253.html
Copyright © 2020-2023  润新知