防止JQuery单击侦听器

时间:2016-02-12 01:26:01

标签: javascript jquery html

.click()上有div

我在div添加了一个按钮,现在每次单击按钮时,JQuery都会执行与div相关联的功能,并在按钮上执行操作。

我明白为什么要这样做。我想知道我是否可以让点击监听器忽略孩子们?

是否已经存在功能/语法或者我是否需要从头开始制作一个? div和按钮由#id调用。

1 个答案:

答案 0 :(得分:2)

要使事件侦听器忽略子节点,您可以检查绑定元素是否与目标

相同
$('div').on('click', function(e) {

    if ( e.target === this ) {
       // DIV was clicked, not children
    }

});

或者走另一条路,阻止事件冒泡

$('div button').on('click', function(e) {
    e.stopPropagation();
});