<div id="example" style="background:yellow;height:200px;width:200px;">
<button>Some text</button>
</div>
#example
クリックされたときに実行したいのですが、子要素がクリックされたとき.hide
に実行したくありません。.hide
<div id="example" style="background:yellow;height:200px;width:200px;">
<button>Some text</button>
</div>
#example
クリックされたときに実行したいのですが、子要素がクリックされたとき.hide
に実行したくありません。.hide
にハンドラーを追加し、<div>
それがターゲットであるかどうかを確認します。
この例でevent.target
は、は実際にクリックされた要素ですがthis
、ハンドラーにアタッチされた要素です。
$('#example').on('click', function(event) {
if (event.target === this) {
alert('div, not button');
$(this).hide();
}
});