1

私は次のHTMLを持っています...

<div id="panel">
<a class="ext" href="http://google.com">Google</a>
</div>

$(#panel).on({ click: function(e) {...} div の高さを拡大または縮小するイベントがある場合、クリックした場合にクリック イベントに「発生しない」ように指示するにはどうすればよいですか? .ext クラス アイテムで、google.com にアクセスできるようにします。

アドバイスをありがとう

4

2 に答える 2

9

これを追加:

$('.ext').click(function(e) {
    e.stopPropagation();
});

これにより、イベントが要素にバブリングするのを防ぎ#panelます。

于 2013-08-09T20:44:50.823 に答える
3

別のアプローチは、clickイベントのターゲットを単純にテストすることです。

$('#panel').on({
    click: function(e) {
        var target = e.target,
            $target = $(target);
        if ($target.hasClass('ext')) {
            window.location = target.href;
        }
        else if {
            // do whatever you'd normally do for a click on #panel
        }
    });

参考文献:

于 2013-08-09T20:50:41.097 に答える