【发布时间】:2015-08-19 20:59:26
【问题描述】:
我想停止将 ng-repeat 上的事件传播到父元素。我的代码是:
<li ng-repeat="node in nodes"><div ng-click="$event.stopPropagation(); myFunc(node);"></li>
经过一段时间的挣扎后,我发现更改在 ng-click 上调用函数的顺序可以解决此问题。我只需要将其更改为:
<li ng-repeat="node in nodes"><div ng-click="myFunc(node); $event.stopPropagation();"></li>
为什么顺序在这里很重要?事实上,我认为调用 $event.stopPropagation() 应该在其他任何事情之前发生,以便在其他任何事情完成之前停止事件传播。
谢谢!
【问题讨论】:
标签: angularjs events stoppropagation