2014-09-19 26 views
1

如果我绑定3个事件处理程序这样的jTarget元素:jQuery的事件机制的性能

function doo1(){} 
function doo2(){} 
function doo3(){} 

- jTarget.on('mouseover.my1', doo1); 
- jTarget.on('mouseover.my2', doo2); 
- jTarget.on('mouseover.my3', doo3); 

它会消耗3倍多(时间或PERF),就好像我是做以下? :

- jTarget.on('mouseover.my3', function(){ 
    doo1(); 
    doo2(); 
    doo3(); 
}); 

换句话说,jQuery是否在内部处理某种事件处理优化?

我需要知道这一点,因为如果我可以使用第一个摘要而不是第二个摘要,对我来说会更方便。

+0

这两个片段在功能上完全不同......你的问题是什么? – 2014-09-19 11:19:32

+1

在第一种方法中,额外的处理程序将被附加,因此会消耗更多的内存..但是这将是微不足道的,除非你要实现这个大规模 – 2014-09-19 11:21:24

+0

@TJ:这就是我的想法。这是我的答案,谢谢。 Rajaprabhu Aravindasamy:我想实现一个小部件,它可以绑定本地事件,但用户也可以附加自己的事件,所以我想看看哪种方法更好。第一种方法显然更容易实施,因为我不需要额外的工作。但是对于像mouseover这样的消耗事件,使用第一种方法可能会使小部件崩溃,所以我将不得不实施一种机制,只触发一个mouseover类型的事件,并且实际上会触发小部件本机事件和用户事件。 – ling 2014-09-19 11:22:59

回答