クラス化された DIV がありfoobar
、その DIV 内にクラス化されていない DIV がいくつかありますが、それらはfoobar
クラスを継承していると思います。
$('.foobar').on('click', function() { /*...do stuff...*/ });
DIV 内のどこかをクリックしたときのみにこれを実行させ、その子 DIV では実行させないようにします。
ベストアンサー1
e.target
が と同じ要素である場合this
、子孫をクリックしていません。
$('.foobar').on('click', function(e) {
if (e.target !== this)
return;
alert( 'clicked the foobar' );
});
.foobar {
padding: 20px; background: yellow;
}
span {
background: blue; color: white; padding: 8px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class='foobar'> .foobar (alert)
<span>child (no alert)</span>
</div>