尝试使用jQuery定位特定的DIV

时间:2011-04-20 21:47:32

标签: jquery select html click target

简单的问题似乎是一个难以置信的困难解决方案。

我有一个DIV包装器,其z-index低于包装器内的DIV。 (基本上是背景上有DIV的背景)

当我在包装器和DIV上运行console.log()时,我注意到当我点击包装器时它只记录包装器的点击。

但是当我点击包装器内的DIV时,它会同时记录包装器和DIV的点击次数。

如何设置它,以便当我点击包装器内的DIV时,它只会为该DIV注册一次点击而不是包装器?

2 个答案:

答案 0 :(得分:2)

您需要使用stopPropagation。有关详细信息,请参阅此处:

event.preventDefault() vs. return false

答案 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>