简体   繁体   English

子div点击事件触发父点击事件

[英]child div click event triggers parent click event

How do i prevent the parent click event from firing if the child div is clicked? 如果孩子的div被点击,如何防止父点击事件触发?

http://jsfiddle.net/2GEKu/ 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');
}

Invoke the .stopPropagation() method of the event object in the child's handler. 在孩子的处理程序中调用event对象的.stopPropagation()方法。

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');
}

To make it compatible with IE8 and lower, do this: 要使其与IE8及更低版本兼容,请执行以下操作:

c.onclick = function (event) {
    if (event)
        event.stopPropagation();
    else
        window.event.cancelBubble = true;
    alert('child click');
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM