AngularJS: Verhinderung von 'mouseenter' Ereignis auslösen, auf die Kind-Elemente
Ich Spiele jetzt mit dem AngularJS-framework und bin auf ein problem. Ich machte eine Richtlinie, die als "enter". Es löst Funktionen auf mouseenter
und mouseleave
. Ich bewarb es als Attribut in das table-row-Elementen. Es ist jetzt ausgelöst für jedes Kind-element (alle Spalten und etc), aber es sollte nur ausgelöst, wenn man mit der Maus über die Tabellenzeile.
Dies ist, wie mein Direktive sieht wie folgt aus:
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');
});
}
}
});
Hier ist ein Beispiel: http://jsfiddle.net/dJGfd/1/
Müssen Sie öffnen Sie die Javascript-Konsole zu sehen, die log-Meldungen.
Was ist der beste Weg, das zu erreichen die Funktionalität, die ich möchte in AngularJS? Ich bevorzuge nicht jQuery verwenden, wenn eine angemessene AngularJS Lösung.
- Das sieht nach einem bug für mich. Nur eine kurze Notiz, Sie können auch die Winkel-Richtlinie namens "ng-mouseenter" / "ng-mouseleave". Meine Idee wäre es, speichern Sie die letzten das betreffende element und sehen, ob es anders ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, diese:
Dasselbe an http://jsfiddle.net/22WgG/
Auch statt
und
können Sie angeben,
Sehen http://jsfiddle.net/hwnW3/