小编典典

从 ng-click 获取原始元素

all

我的视图中有一个项目列表,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,而无需在我的指令中执行 DOM 操作?


阅读 72

收藏
2022-06-24

共1个答案

小编典典

你需要$event.currentTarget而不是$event.target.

2022-06-24