是更好/事件偵聽器內更快地使用this
或event.target
優勢*此*在event.target
我一直在寫這樣的代碼(例如是jQuery的):
jQuery('input').bind('keyup', function (e) {
var j = jQuery(e.target);
foo(j.attr('id') , j.val());
});
我被告知用this
替換e.target
,因爲它「更好」。其中一個或另一個真的有優勢嗎?
我使用的目標,因爲它是一個更通用的解決方案,因爲它適用於委派事件。我在基準測試中遇到了麻煩,因爲我的測試與綁定混亂(雖然,顯然,在這種情況下,差異太小無論如何)
使用委託,'this'返回與選擇器匹配的元素。 'target'返回事件冒泡的元素。 – ColBeseder
'this'在這種情況下速度更快:http://jsperf.com/this-and-event-target – Mageek
這會稍微快一點,因爲它不需要解析object的屬性。但那是如此的微不足道,甚至不值得討論。如果您出於性能原因考慮此問題,請首先查看'this.id'到'j.attr('id')'。 (簡稱:真的沒關係!) – rodneyrehm