Ich habe eine Liste von Elementen in meiner Ansicht mit ng-click
angehängten Elementen :
<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>
Ich verarbeite die Klickereignisse in der foo
Funktion in meiner Direktive und übergebe sie $event
als Verweis auf das Objekt, auf das geklickt wurde. Ich erhalte jedoch einen Verweis auf das img
Tag und nicht auf das li
Tag. Ich muss dann solche Sachen machen, um das zu bekommen 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
}
})();
Gibt es eine einfache Möglichkeit, den Verweis auf das ng-click
gebundene Element abzurufen, ohne DOM-Operationen in meiner Direktive auszuführen?