当点击父div时,它工作正常(即只有fun1()正在调用)。 当我点击内部div(test4)时,函数fun1()和fun2()都在调用,但是当我点击内部div时我只想调用fun2()。
<div ng-click="fun1()">
<div>test1</div>
<div>test2</div>
<div>test3</div>
<div ng-click="fun2()">test4</div>
</div>
答案 0 :(得分:3)
工作人员:
http://plnkr.co/edit/tpl:8rFfZljYNl3z1A4LKSL2?p=preview
首先,您需要显式传递$ event,然后在其上调用stopPropagation()
<div ng-click="fun2($event)">test4</div>
$scope.fun2 = function(event){
console.log("Fun2")
event.stopPropagation();
}
答案 1 :(得分:1)
ngClick
指令(以及所有其他事件指令)创建$event
变量,该变量在同一范围内可用。此变量是对JS事件对象的引用,可用于调用stopPropagation()
试试这个
<div ng-click="fun2(); $event.stopPropagation()">test4</div>
继承人plunkr