委派方法时效率更高?

时间:2013-01-24 18:11:44

标签: javascript ajax performance jquery

我有一个充满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();
    }
})  

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

如果有一种方法比这两种方法更快,那么它也是受欢迎的。谢谢。

如果差异不够明显,那么我想知道什么是algorythm更清洁,为每个委托绑定事件或绑定单个事件并比较类。

1 个答案:

答案 0 :(得分:0)

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

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

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