jQuery如何阻止触发的点击事件冒泡?

4

我有这段代码:

$('.panel-select').click(function() {
  $(this).children('input').trigger('click');
});

但是我遇到了一个RangeError错误:调用堆栈大小超出了最大限制。

我查了一些资料,发现这个事件会在DOM中冒泡传递。

我试图停止它,但是没有成功。我尝试了以下方法:

$('.panel-select').click(function(e) {
  e.stopPropagation();
  $(this).children('input').trigger('click');
});

但它没有起作用。我该怎么做?

1个回答

8
您需要将事件绑定到子元素上:
$('.panel-select').click(function() {
   $(this).children('input').trigger('click');
});

// try adding to the below event not on the parent.

$('.panel-select input').click(function(e) {
    e.stopPropagation();
});

@JohanDahl 很高兴这对你有帮助。 - Jai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接