从ng获取原始元素

在我的视图中有一个项目列表,并附带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函数中的click事件,将$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操作?


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


不是对这个问题的直接回答,而是对$event.currentTarget的“问题”显然设置为null。

这是由于console.log在最后一次执行状态时显示深层可变对象,而不是在调用console.log时的状态。

您可以检查以获取更多信息:对console.log的连续调用会产生不一致的结果

链接地址: http://www.djcxy.com/p/78281.html

上一篇: get original element from ng

下一篇: OSX: PHP Error localhost and unable to load dynamic library