Attualmente sto giocando con il framework AngularJS e mi sono imbattuto in un problema. Ho fatto una direttiva che si chiama 'enter'. Attiva le funzioni su mouseenter
e mouseleave
. L'ho applicato come attributo agli elementi di riga della tabella. Ora è attivato per ogni elemento figlio (tutte le colonne e così via), ma dovrebbe essere attivato solo quando si sposta il mouse sulla riga della tabella.AngularJS: Prevenzione dell'attivazione di eventi "mouseenter" sugli elementi figlio
Ecco come il mio direttiva assomiglia:
myapp.directive('enter', function(){
return {
restrict: 'A', // link to attribute... default is A
link: function (scope, element){
element.bind('mouseenter',function() {
console.log('MOUSE ENTER: ' + scope.movie.title);
});
element.bind('mouseleave',function() {
console.log('LEAVE');
});
}
}
});
Ecco un esempio: http://jsfiddle.net/dJGfd/1/
Dovete aprire la console Javascript per vedere i messaggi di log.
Qual è il modo migliore per ottenere la funzionalità che desidero in AngularJS? Preferisco non utilizzare jQuery se esiste una soluzione AngularJS ragionevole.
Che assomiglia a un insetto per me. Solo una breve nota, puoi anche applicare la direttiva Angular chiamata "ng-mouseenter"/"ng-mouseleave". La mia idea sarebbe di salvare l'ultimo elemento in bilico e vedere se è diverso. –