e.target
はい、 (ハンドラをe
引数として受け入れるように変更して)見ることができます。実際にクリックされた要素closest
の最初の祖先を取得するために使用する可能性があります(それらの子に子孫がある場合)。div
div
$('.parent').bind('click', function(e) {
// Here, `e.target` is the DOM element where the click occurred
var div = $(e.target).closest('div');
});
実例| ソース
または、子の 1 つがクリックされたときにのみハンドラーを起動する場合は、delegate
またはを介してイベント委任を使用できon
ます。
$('.parent').delegate('div', 'click', function(e) {
// Here, `this` is the child div that was clicked
});
// or
$('.parent').on('click', 'div', function(e) {
// Here, `this` is the child div that was clicked
});
実例| ソース
引数の順序は、 (delegate
明確にするために私が好む) とon
(他の人が好むように思われる) では異なることに注意してください。