我有一个委派父母,监听一组具有特定类的孩子中的点击事件。如何阻止儿童传播活动/委托侦听器触发的事件?
$(".toggle_group").on("click",".toggle",function(e){ .. });
所以继承人的HTML
<div class='toggle_group'>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
<a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
</div>
问题的一个例子是,a.toggle
儿童传播完成的情况下,以父,当它不应该触发的处理程序。根据jQuery文档,您无法停止活动/委托事件侦听器上的事件传播。
如何阻止a.toggle的这些子孩子将事件传播给父母?或者在某些情况下允许它?
您看到.toggle
的内部div应该是一个下拉菜单。它不应该当你点击菜单时切换,只有当你点击切换链接时...
你.off()对孩子 – frenchie 2012-02-05 22:12:40
所以您选择说与继承的事件侦听器的孩子应该使用过禁用它们做到这一点? – qodeninja 2012-02-06 00:33:34
是的,这是一种方法。 StopPropagation是另一种方法。还有一种方法是使用on()为子div创建一个事件监听器,并让它不做任何事情。 – frenchie 2012-02-06 10:13:54