1

それはおそらく簡単な解決策ですが、私はそれを理解することができません。私がやりたいことは、子レイヤーにインタラクションを割り当てずに、子レイヤーをクリックできるオーバーレイレイヤーを作成することです。そのようです -

<div class="overlay">
    <div class="content">Lorem ipsum dolor.</div>
</div>

jQuery サンプル関数:

$('.overlay').click(function() {
    $(this).hide();
});

ここで何が起こるかというと、子レイヤーをクリックしても関数が実行されるということです。子供の周りだけが影響を受けるように設定するにはどうすればよいですか?

4

3 に答える 3

6

クリックターゲットを確認できますe.target

$('.overlay').click(function(e) {
    if (!$(e.target).is('.content')) {
        $(this).hide();
    }
});
于 2012-09-29T14:23:20.347 に答える
3

e.stopPropagation();で試してください。-

$('.content').click(function(e) {
    e.stopPropagation();
    alert('child');
});

JSFiddle </p>

于 2012-09-29T14:23:06.520 に答える
1

作成例、コンテンツをクリックして非表示アクションを防止する

于 2012-09-29T14:27:11.300 に答える