我有一个带有foobarclassed 的 DIV,以及该 DIV 中的一些未分类的 DIV,但我想它们正在继承foobar该类:
foobar
$('.foobar').on('click', function() { /*...do stuff...*/ });
我希望它仅在单击 DIV 中的某个位置而不是其子 DIV 时触发。
如果 与e.target是相同的元素this,则您没有单击后代。
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>