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.
InformationsquelleAutor JustGoscha | 2013-03-07
Schreibe einen Kommentar