Javascript / Jquery单事件目标委派
我意识到event.target冗余会在将来与下一级别的另一个事件绑定时引发很多问题。
例如,当我在另一个内部有一个Div元素时。
我使用跟随Jquery代码绑定事件。
$('div').bind('click', function(event){ alert(event.target.id) }
有两个警告框而不是一个。 我理解为什么这个概念是因为我点击了2个div。
当然,更深层次的问题是当我尝试在事件之后使用event.target绑定事件时,它会依次绑定x2等等。
是否有可能摆脱外部div上的事件绑定并仅捕获内部。
提前致谢。
您可以使用event.stopPropgation()
阻止事件冒泡,如下所示:
$('div').bind('click', function(event){ alert(event.target.id); event.stopPropagation(); });
你可以在这里尝试一下 。 这将“捕获”获取它的第一个
上的click
,并且不会让它传播到任何父母。
我想你只需要在bind调用中选择内部div:
$('div:eq(0)').bind('click', function(event){ alert(event.target.id) }