javascript - .click 子div 但不触发单击parent Div?

标签 javascript jquery html css

我这里有一个例子:

http://jsfiddle.net/js5LR/1/

基本上,我怎样才能在子元素而不是父元素上有 .click 事件?

因此单击内部 div 不应触发父 div 的 .click 事件。

CSS:

.parentDiv {
    width: 200px;
    height: 200px;
    border: 1px solid red;
}
.childDiv {
    border: 1px solid blue;
}

HTML:

<div id="parent" class="parentDiv">
    <div id="child" class="childDiv">Click Me</div>
</div>

Javascript/jQuery

$('#parent').click(function() {
    alert('You clicked the parent!');
}
);
$('#child').click(function() {
    alert('You clicked the child!');
}
);

谢谢!

最佳答案

使用.stopPropagation():

$('#child').click(function (e) {
    e.stopPropagation();
    alert('You clicked the child!');
});

jsFiddle example

您的点击事件使 DOM 冒泡,并且 .stopPropagation()将阻止这种情况。

你也可以只返回 false:

$('#child').click(function () {
    alert('You clicked the child!');
    return false;
});

jsFiddle example

关于javascript - .click 子div 但不触发单击parent Div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23416629/

相关文章:

javascript - 如何确定 HTML5 元素何时被查看?

javascript - ckeditor在数据库中添加html标签

javascript 函数在其他文件中不起作用

javascript - 使用 JavaScript 将数组填充到特定索引处的二维数组中

jquery - 是否可以从jstree拖放到jqgrid?

javascript - 播放嵌入式电影时停止 slider 。

html - 用于 ie 的 css mask-image 替代品,用于创建可编辑的 svg 背景颜色

javascript - 如何循环播放单选问题后退按钮 Javascript

javascript - 如何保存对象的初始语句?

jquery - jquery.ui.theme.css 和 jquery-ui.css 有什么区别?