*this*优于event.target

Col*_*der 10 javascript optimization jquery

在事件监听器中使用this或更好/更快event.target

我一直在编写这样的代码(例子是jQuery):

jQuery('input').bind('keyup', function (e) {
 var j = jQuery(e.target);
 foo(j.attr('id') , j.val() );
});
Run Code Online (Sandbox Code Playgroud)

我被告知要更换e.target,this因为它"更好".这个或那个真的有什么优势吗?

我使用target是因为它适用于委派事件,因此它是一种更通用的解决方案.我在基准测试时遇到了麻烦,因为我的测试结果很混乱(尽管很明显,在这种情况下,差异太小而无关紧要)

Me.*_*ame 16

一个并不比另一个好,但它们做了不同的事情:是指事件附加到的元素,而event.target是调用事件的元素.

例如

div id=foo   
   div id=bar
Run Code Online (Sandbox Code Playgroud)

当click附加到foo并单击bar时,该事件将冒泡到foo.如果将引用fooevent.targetbar

最后,它取决于您需要处理的元素.

api.jquery.com/event.target上有一个小例子,它说明了event.target.这是一个使用该示例的小样本,但也显示了这个:http://jsbin.com/adifan/edit#javascript,html,live