点击div里面的div绕过javascript事件

时间:2014-05-29 22:49:35

标签: javascript jquery html

所以我不完全确定如何在搜索引擎中说出这一点。说我有以下内容:

<div class = "outer-box">
    <div class="inner-box"></div>
</div>

我真的想在你点击外框时定义一个jquery事件,当你点击外框内的内框时,甚至是不同的,而不会触发外部事件(或者至少使它无效)

如果我还触发了内盒事件,有没有办法检查外盒事件,那么我就可以不执行代码了?或者更优雅的方式来做到这一点?

2 个答案:

答案 0 :(得分:2)

内部框将首先获取事件,因此只在其末尾return false;不传播错误。另外,假设您将事件处理程序定义为:

handleEvent(e)

然后你可以这样停止传播:

handleEvent(e) {
   e.preventDefault();
}

答案 1 :(得分:1)

将事件绑定到父容器并使用stopPropagation。

$('.outer-box').on('click', function(e) {
    var $target = $(e.target);

    if($target.hasClass('inner-box')) {
        e.stopPropagation();
    }
});