我的 View 中有一个项目列表,其中附加有 ng-click
:
<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
标记。然后我必须做这样的事情来获取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
}
})();
有没有一种简单的方法可以获取对 ng-click
绑定(bind)到的元素的引用,而无需在我的指令中执行 DOM 操作?
最佳答案
您需要 $event.currentTarget
而不是 $event.target
。
关于angularjs - 从 ng-click 获取原始元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23107613/