MouseEnter vs MouseOver en AngularJs
Je jouais avec AngularJS les événements de la souris et a obtenu dans un problème. Je sais MouseEnter événement est déclenché lorsque la souris entre dans le conteneur d'un élément et là après MouseOver est déclenché pour tous les éléments enfants.
Grâce à cette animation La visualisation des événements de la souris
Cependant s'avère que dans mon cas, MouseEnter événement n'est jamais déclenché. Je suis en train de travailler sur Angulaire PhoneCat application (étape 10) et fait les modifications suivantes:
- Controllers.js: Ajout d'une méthode pour le journal des événements de souris
- phone-details.html: Ajout ng-mouseenter et ng-mouseleave gestionnaires
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>
Résultat:
Seulement mouseover et mouseout cas être connecté
Question:
Est ce comportement qui se passe parce que les images sont ul élément et nous sommes en déplaçant la souris dans les éléments enfants? et Comment puis-je obtenir mouseenter événement sur l'image?
Merci
- Trouvé la bonne réponse ici: stackoverflow.com/questions/7286532/...
Vous devez vous connecter pour publier un commentaire.
Angulaire du ngMouseenter directive déclenche un événement dont le type est mouseover, comme vous pouvez le voir dans cette plunker.
La différence de ngMouseover est qu'il est déclenché qu'une seule fois, lorsque la souris entre dans l'élément, et non pas après chaque mouvement à l'intérieur de cet élément aussi.