0

我有一个充满 AJAX 的网站,所以我需要将方法委托给文档点击,假设我也有 jQuery 库。
我只想知道这两个代码之间更有效的是什么:

$(document).on('click', '.delegate1', function(){
    doSomethingForDelegate1();
}).on('click', '.delegate2', function(){
    doSomethingForDelegate2();
});  

或者:

$(document).on('click', function(event){
    var element = $(event.target);
    if(element.hasClass('delegate1')){
        doSomethingForDelegate1();
    } else if(element.hasClass('delegate2')){
        doSomethingForDelegate2();
    }
})  

我想实现对客户端执行时间影响较小的代码,从而拥有一个更快的站点。我知道也许差异不会太大,但工作得更快总是更好;)

如果有比这两种方法更快的方法,也欢迎。谢谢。

如果差异不够明显,那么我想知道哪种算法更干净,为每个委托绑定一个事件或绑定一个事件并比较类。

4

1 回答 1

0

当稍后有许多元素要添加到 DOM 时,第二种方法可能很有效。因此,将单个事件附加到文档并进行委派可以真正加快应用程序的速度。

但是,如果创建和需要附加的元素数量不是很大,那么两者应该以相同的速率执行。

我会采用第一种方法,因为它更清洁。

于 2013-01-24T18:16:35.170 回答