单击容器时的jQuery / js事件,但不是容器中的元素

时间:2014-03-05 14:33:15

标签: javascript jquery

我希望在容器上有一个click事件,但是当我点击容器中的一个元素时,不是

$('.container').click(function(event) {
    history.back(1);
});

但是当我点击

时,不应该调用history.back()
<div class="container"><a href="URL">Link</a></div>

是否可以从容器事件中排除链接?

3 个答案:

答案 0 :(得分:3)

在点击事件处理程序中使用event.stopPropagation();

 event.stopPropagation();

答案 1 :(得分:3)

你可以这样做:

$('.container').click(function(event) {
    if(event.target.nodeName.toLowerCase() == 'div' ) {
    // code
    }
});

答案 2 :(得分:2)

试试这个:

$('.container').click(function(event) {
    if(event.target === event.currentTarget) history.back(1);
    //(event.target === this) => Equivalent.
});