e.targetとe.currentTargetの違いについて少し調べる機会があったのでメモ。
サンプルコード
HTML
<a href="/" class="link">リンク1</a> <a href="/" class="link"><span class="span">リンク2(中にspan)</span></a>
JavaScript
$(function() { $('a').on('click', function(e) { e.preventDefault(); console.log('target:', e.target); console.log('currentTarget:', e.currentTarget); }); });
リンク1の場合は両方とも同じ対象になりますが、リンク2の場合は対象が異なります。
e.targetとe.currentTargetの違いのデモページ
e.targetはイベントを発生させた要素、e.currentTargetはイベントハンドラがアタッチされた要素になるようです。
【参考サイト】
コメントが承認されるまで時間がかかります。