Ozr*_*rix 198 angularjs angularjs-directive
我的视图中有一个项目列表,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>
Run Code Online (Sandbox Code Playgroud)
我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
}
})();
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法来获取对ng-click
绑定的元素的引用,而不在我的指令中执行DOM操作?
Eng*_*eer 309
你需要$event.currentTarget
而不是$event.target
.
Tiv*_*vie 13
不是这个问题的直接答案,而是$event.currentTarget
显然被设置为null 的"问题" .
这是因为console.log在最后的执行状态下显示了深度可变对象,而不是在调用console.log时的状态.
您可以查看此信息以获取更多信息:对console.log的连续调用会产生不一致的结果
归档时间: |
|
查看次数: |
213416 次 |
最近记录: |