AddLoadEvent和jQuery的函数加载之间的区别

时间:2010-10-20 16:53:11

标签: jquery function load onload-event

我正在尝试找到对以下问题的解释,我环顾四周并且到目前为止还没有找到任何一个awnser:Simon AddLoadEvent函数的代码和{load的代码之间有什么区别?来自jQuery的1}}函数?

以下是链接:

  1. AddLoadEvent代码:http://simonwillison.net/2004/May/26/addLoadEvent/

  2. .load函数jQuery从jQuery看到api加载

  3. 案例#1(jQuery .load函数)

    function replaceMissingImage(){
        //run code here...
    }
    
    
    $(window).load(function () {
      // run code
      replaceMissingImage();
    });
    

    或案例#2(AddEventLoad - JS)

    function addLoadEvent(func) {
      var oldonload = window.onload;
      if (typeof window.onload != 'function') {
        window.onload = func;
      } else {
        window.onload = function() {
          if (oldonload) {
            oldonload();
          }
          func();
        }
      }
    }
    
    
    function replaceMissingImage(){
        //run code here...
    }
    
    addLoadEvent(replaceMissingImage);
    
    问:这两段代码会做同样的事情吗?

    $(window).load(function()) vs AddLoadEvent

1 个答案:

答案 0 :(得分:2)

是的,该代码完全相同。 jQuery内部使用与addLoadEvent非常相似的东西来链接函数,除了它适用于各种元素的各种事件,而不仅仅是onload window。它主要基于Dean Edwards' addEvent解决方案。我建议查看jQuery的源代码并搜索“edwards”以找到这段代码;它的灵活性令人印象深刻。