0
<div id="example" style="background:yellow;height:200px;width:200px;">
 <button>Some text</button>
</div>​

#exampleクリックされたときに実行したいのですが、子要素がクリックされたとき.hideに実行したくありません。.hide

4

1 に答える 1

3

にハンドラーを追加し、<div>それがターゲットであるかどうかを確認します。

このevent.targetは、は実際にクリックされた要素ですがthis、ハンドラーにアタッチされた要素です。

$('#example').on('click', function(event) {
    if (event.target === this) {
        alert('div, not button');
        $(this).hide();
    }
});
于 2012-06-17T00:44:41.217 に答える