angularjs angularjs-directive

angularjs - obtener el elemento original de ng-clic



ng click angular 6 (2)

Necesita $event.currentTarget lugar de $event.target .

Tengo una lista de elementos en mi vista con ng-click adjunto a ellos:

<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>

Estoy manejando los eventos de clic en la función foo en mi directiva, pasando $event como una referencia al objeto en el que se ha hecho clic, pero obtengo una referencia a la etiqueta img , en lugar de la etiqueta li . Entonces tengo que hacer cosas como esta para obtener el 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 } })();

¿Hay una forma sencilla de obtener la referencia al elemento al que está vinculado ng-click , sin realizar operaciones DOM en mi directiva?


No es una respuesta directa a esta pregunta, sino más bien al "problema" de $event.currentTarget aparentemente se establece en nulo.

Esto se debe al hecho de que console.log muestra objetos mutables profundos en el último estado de ejecución, no en el estado en que se llamó a console.log.

Puede verificar esto para obtener más información: las llamadas consecutivas a console.log producen resultados inconsistentes