Ho un elenco di elementi a mio avviso con ng-click
allegati:
<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>
Sto gestendo gli eventi click nella foo
funzione nella mia direttiva, passando $event
come riferimento all'oggetto su cui è stato fatto clic, ma sto ottenendo un riferimento al img
tag anziché al li
tag. Quindi devo fare cose come questa per ottenere 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
}
})();
Esiste un modo semplice per ottenere il riferimento all'elemento a cui ng-click
è associato, senza eseguire operazioni DOM nella mia direttiva?