2012-09-28 9 views
16

次の2つの方法に違いはありますか? #1は#2より速いですか?

#1 
$('#selector').on('click',function(){ 
    $(this)... 
    // do stuff with clicked element 
}) 

and 

#2 
$('#selector').on('click',function(e){ 
    $(e.currentTarget).... 
    // do stuff with clicked element 
}) 
+1

ドキュメント(http://api.jquery.com/を読んでいない、あなたが提供しているものは何でもコンテキストと同じになりますevent.currentTarget /)はあなたに答えを与えていたはずです。 – j08691

+0

このバグレポートは関連しています:http://bugs.jquery.com/ticket/11756。 98%が何をしていると仮定しているので、公式に 'this'を使用してください。 – Medorator

答えて

15

は、「これは」このプロパティは、通常と同じになりますhttp://api.jquery.com/event.currentTarget/

event.currentTarget

に応じ

を入力しやすいようですけれども、彼らは、ほとんどの場合同じですように思えます関数のthis

あなたがjQuery.proxyまたはスコープ操作の別のフォームを使用している場合は、 はthisevent.currentTarget

+1

この回答ありがとうございました - 私はイベントハンドラをECMA5 .bind()呼び出しを使用するように変更したかったのですが、オリジナルのこのコンテキストと新しいコンテキストの両方を取得する方法を理解できませんでした。 –

関連する問題