MouseEnter-vs MouseOver in AngularJs

Spielte ich mit AngularJS Maus-Ereignisse aus und geriet in ein problem. Ich weiß MouseEnter Ereignis wird ausgelöst, wenn die Maus betritt container ein element und dort nach MouseOver ausgelöst wird für alle Kind-Elemente.
Dank dieser animation Visualisierung von Maus-events

Jedoch stellt sich heraus, dass in meinem Fall MouseEnter-Ereignis wird nie ausgelöst. Ich arbeite an Angular PhoneCat Anwendung (Schritt 10) und habe folgende änderungen vor:

  1. Controllers.js: Hinzugefügt eine Methode um log-Maus-events
  2. phone-details.html: Hinzugefügt ng-mouseenter und ng-mouseleave Handler

JS:

    $scope.logMouseEvent = function() {
        switch (event.type) {
          case "mouseenter":
            console.log("Hey Mouse Entered");
            break;

          case "mouseleave":
            console.log("Mouse Gone");
            break;

          default:
            console.log(event.type);
            break;
        }

HTML:

<ul class="phone-thumbs">
  <li ng-repeat="img in phone.images">
    <img ng-src="{{img}}" ng-Click="setImage(img)" ng-mouseenter="logMouseEvent()" ng-mouseleave="logMouseEvent()">
  </li>
</ul>

Ergebnis:

Nur mouseover und mouseout Ereignis protokolliert wird

Frage:

Ist dieses Verhalten geschieht, weil die Bilder sind ul element und wir bewegen die Maus in die Kind-Elemente? und Wie bekomme ich mouseenter Ereignis auf dem Bild?

Danke
MouseEnter-vs MouseOver in AngularJs

InformationsquelleAutor Rohit | 2015-01-28
Schreibe einen Kommentar