... .on が呼び出された要素と、イベントが呼び出された要素を取得する方法はありますか?
イベントがどの要素に関連付けられているかを知りたい場合は、event.delegateTargetを使用できます。
次のように使用できます。
$(".item").on("click", "a", function (event) {
var link = $(this); // a tag
var itemDiv = event.delegateTarget;
console.log(itemDiv);
});
デモ- event.delegateTarget の使用
質問の2番目の部分を理解しているかどうかはよくわかりませんが、イベントを開始した正確な要素を知りたい場合は、event.targetを使用できます。
これがあなたの意図したものかどうかはわかりませんが、念のため、以下に例を追加しました。
次のように使用できます。
$(".item").on("click", "a", function (event) {
var link = $(this); // a tag
var initiatedBy = event.target;
console.log(initiatedBy);
});
これは、たとえばspan
リンク内などで、クリックされた正確な要素を検査する必要がある場合に便利です。
これは、コンテナにイベントをアタッチしたいが、コンテナ内の正確な要素がクリックされない限り、コンテナ内のイベントをトリガーしたくない場合にも便利です。
デモ- イベントを開始した要素の検査 (2 番目のリンクには が含まれていspan
ます。コンソール ログの違いを参照してください)