我有一个项目列表,在我的视图中ng单击附加到他们:
<ul id="team-filters"> <li ng-click="foo($event,team)" ng-repeat="team in teams"> <img src="{{team.logoSmall}}" alt="{{team.name}}" title="{{team.name}}"> </li> </ul>
我在我的指令中处理foo函数中的点击事件,传递$ event作为被点击的对象的引用,但是我获得了对img标签的引用,而不是li标签。然后我要做这样的东西,得到李:
$scope.foo = function($event,team) { var el = (function(){ if ($event.target.nodeName === 'IMG') { return angular.element($event.target).parent(); // get li } else { return angular.element($event.target); // is li } })();
您需要$ event.currentTarget而不是$ event.target。