3

AddLoadEvent我试图找到对以下问题的解释,我环顾四周,到目前为止还没有找到任何 awnser:Simon Willison 的函数代码和loadjQuery 的函数有什么区别?

以下是链接:

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

  2. .load函数 jQuery 查看来自 jQuery 的 api 加载

案例#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())对比AddLoadEvent

4

1 回答 1

2

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

于 2010-10-20T17:02:57.573 回答