简单的问题似乎是一个难以置信的困难解决方案。
我有一个DIV包装器,其z-index低于包装器内的DIV。 (基本上是背景上有DIV的背景)
当我在包装器和DIV上运行console.log()时,我注意到当我点击包装器时它只记录包装器的点击。
但是当我点击包装器内的DIV时,它会同时记录包装器和DIV的点击次数。
如何设置它,以便当我点击包装器内的DIV时,它只会为该DIV注册一次点击而不是包装器?
答案 0 :(得分:2)
您需要使用stopPropagation。有关详细信息,请参阅此处:
答案 1 :(得分:2)
扩展Jeff的答案,这是一些基本的示例代码:
<style type="text/css">
div {width:100px;height:100px;}
#parent {padding:50px;background-color:black}
#child {background-color:yellow}
</style>
<script type="text/javascript">
$(function () {
$('div').click(function (event) {
if ($(this).parents('div')) {
event.stopPropagation();
}
console.log($(this).attr('id'));
});
});
</script>
<div id="parent">
<div id="child"></div>
</div>