0

私は2つの要素を持っています:

<div class="a" onclick="a();">a
    <div class="b" onclick="b();">b</div>
</div>

クリックするとアラートが表示されますが、b をクリックするとアラート b が表示されます。

この例は私をよりよく説明していると思います。

http://jsbin.com/Aruciyi/1/edit?html,css,js,output

例として、赤いブロックをクリックしてアラートbを取得するにはどうすればよいですか...

4

2 に答える 2

2

event.stopPropagation次のように使用します。

function b(event){
    event = event || window.event;
    event.stopPropagation();
    alert('b');
}

これにより、クリック イベントが内側の div にトラップされ、外側の div にバブリングされなくなります。

また、 onclick 属性を次のように変更します。

<div class="b" onclick="b(event);">b</div>

したがって、eventオブジェクトをb関数に明示的に渡しています。

于 2013-09-11T22:45:08.460 に答える