【发布时间】:2014-09-19 11:18:25
【问题描述】:
如果我像这样将 3 个事件处理程序绑定到 jTarget 元素:
function doo1(){}
function doo2(){}
function doo3(){}
- jTarget.on('mouseover.my1', doo1);
- jTarget.on('mouseover.my2', doo2);
- jTarget.on('mouseover.my3', doo3);
如果我执行以下操作,它会消耗 3 倍(时间或性能)吗? :
- jTarget.on('mouseover.my3', function(){
doo1();
doo2();
doo3();
});
或者换句话说,jquery 是否在内部处理了某种事件处理优化?
我需要知道这一点,因为如果可以的话,这对我来说会更方便 只使用第一个概要,而不是执行第二个。
【问题讨论】:
-
这两个sn-ps在功能上完全不同..你有什么问题?
-
在第一种方法中,将附加额外的处理程序,因此会消耗更多的内存。但除非您要大规模实施,否则这将是微不足道的
-
@TJ:我就是这么想的。这就是我的回答谢谢。 Rajaprabhu Aravindasamy:我想实现一个小部件,它可以绑定本地事件,而且用户可以在其上附加她自己的事件,所以我想看看哪种方法更适合这个。第一种方法对我来说显然更容易实现,因为我不需要额外的工作。但是对于像鼠标悬停这样的消费事件,使用第一种方法可能会使小部件崩溃,所以我必须实现一种机制,只触发一个鼠标悬停类型的事件,并且实际上会触发小部件的原生事件和用户事件。
标签: jquery performance events