0

子 div がクリックされた場合に親クリック イベントが発生しないようにするにはどうすればよいですか?

http://jsfiddle.net/2GEKu/

var p = document.getElementById('parent');
var c = document.getElementById('child');

p.onclick = function () {
    alert('parent click');
}
c.onclick = function () {
    alert('child click');
}
4

1 に答える 1

3

子のハンドラーでオブジェクトの.stopPropagation()メソッドを呼び出します。event

var p = document.getElementById('parent');
var c = document.getElementById('child');

p.onclick = function () {
    alert('parent click');
}
c.onclick = function (event) {
    event.stopPropagation();
    alert('child click');
}

IE8 以前と互換性を持たせるには、次のようにします。

c.onclick = function (event) {
    if (event)
        event.stopPropagation();
    else
        window.event.cancelBubble = true;
    alert('child click');
}
于 2013-10-22T23:12:17.900 に答える