我有一个充满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更清洁,为每个委托绑定事件或绑定单个事件并比较类。
答案 0 :(得分:0)
当稍后有多个元素添加到DOM时,第二种方法可以很有效。因此,将单个事件附加到文档并委派可以真正加速应用程序。
但是如果创建和需要附加的元素数量不是很大,那么两者都应该以相同的速率执行..
我会采用第一种方法,因为它更清洁。