我有一个带有ng-click
属性的HTML结构:
<div ng-click="parent()">
<div ng-click="d"></div>
</div>
如果我使用ng-click="d"
,如何禁用外部的 ng-click="parent()"
?
我有一个带有ng-click
属性的HTML结构:
<div ng-click="parent()">
<div ng-click="d"></div>
</div>
如果我使用ng-click="d"
,如何禁用外部的 ng-click="parent()"
?
在Angular中,可以使用$event
对象上的stopPropagation
方法:
<div ng-click="parent()">
<div ng-click="d(); $event.stopPropagation();"></div>
</div>
或将$event
对象作为ng-click
方法的参数传递,并在该方法中调用stopPropagation
:
<div ng-click="parent()">
<div ng-click="d($event)"></div>
</div>
在d
中:
$scope.d = function (event) {
// ...
event.stopPropagation();
}
在子元素的ng-click事件中添加$event.stopPropagation();,可以防止父元素的ng-click被触发。
例如:
<div ng-click="parent();">
<div ng-click="child(); $event.stopPropagation();">
</div>
</div>