Jquery mouseenter() vs mouseover()
Donc après avoir lu récemment répondu à question je ne sais pas si j'ai vraiment compris la différence entre l' mouseenter()
et mouseover()
. Le poste des états
MouseOver():
Le feu à l'entrée d'un élément et chaque fois que l'un des mouvements de la souris
se produire à l'intérieur de l'élément.
MouseEnter():
Le feu à l'entrée d'un élément.
Je suis venu avec un violon qui utilise les deux, et ils semblent assez similaires. Quelqu'un peut-il m'expliquer la différence entre les deux ?
J'ai aussi essayé de lire le JQuery, les définitions, les deux disent la même chose.
L'événement mouseover est envoyé à un élément lorsque le pointeur de la souris entre dans l'élément
Le mouseenter événement est envoyé à un élément lorsque le pointeur de la souris entre dans l'élément.
Quelqu'un peut-il préciser avec un exemple?
- La démo dans le documentation le montre assez bien l'omi.
- Il est intéressant de noter que mouseenter et mouseleave étaient propriétaires des événements dans IE uniquement et des émules dans d'autres navigateurs par jQuery (ils semblent maintenant être dans la spec, bien que pas encore mis en œuvre dans d'autres navigateurs. Voir quirksmode.org/dom/events/mouseover.html)
- Double Possible de Quelle est la différence entre le passage de la souris et mouseenter événements?
Vous devez vous connecter pour publier un commentaire.
Vous voyez le problème quand votre cible élément contient les éléments enfants:
http://jsfiddle.net/ZCWvJ/7/
À chaque fois que votre souris entre ou sort d'un élément enfant,
mouseover
est déclenché, mais pasmouseenter
.JS:
CSS:
HTML:
mouseleave
de l'événement: jsfiddle.net/ZCWvJ/232 jsfiddle.net/ZCWvJ/233 Si plus de où la même comme entrée + congés payés, puis le comte de plus serait la somme des chiffres pour entrer et sortir.var n = + el.text();
au lieu devar n = el.text();
? Je demande juste de la curiosité.+
opérateur afin de le contraindre à la chaîne renvoyée parel.text()
pour un certain nombre. Je n'ai besoin pour? Pas de. Dans ce cas, l'instruction suivante qui utilisen
serait également forcer un certain nombre. Donc, pourquoi ai-je l'utiliser? Je ne suis pas sûr... c'était il y a 2 ans. C'est une bonne habitude. Il rend mon intention explicite. Probablement j'ai d'abord eun + 1
avant je l'ai enregistré, mais a décidé de rétrécir mon code à 2 caractères et il suffit d'utiliser++n
.n + 1
serait pas forcern
pour un certain nombre, mais plutôt de contraindre1
à une chaîne résultant en sortie de, par exemple,0111111
.C'est l'un des meilleurs exemples que j'ai trouvé:
http://bl.ocks.org/mbostock/5247027
Bien qu'ils fonctionnent de la même manière, cependant, les
mouseenter
cas seulement se déclenche lorsque le pointeur de la souris entre l'élément sélectionné. Lemouseover
événement est déclenché si le pointeur de la souris entre dans aucun des éléments d'enfant ainsi.Voir le code d'exemple et de démonstration au bas de l'jquery page de documentation:
http://api.jquery.com/mouseenter/
La mouseenter événement diffère de mouseover dans la façon dont il gère de remontée d'événements. Le mouseenter cas, seules les déclenche de son maître lorsque le souris pénètre dans l'élément il est lié à la, pas un descendant.
Reporter: https://api.jquery.com/mouseenter/
La mouseleave événement diffère de mouseout dans la façon dont il gère de remontée d'événements. Le mouseleave cas, seules les déclenche de son maître lorsque le souris quitte l'élément il est lié à la, pas un descendant.
Reporter: https://api.jquery.com/mouseleave/
Cet exemple illustre la différence entre les mousemove, mouseenter et mouseover événements:
https://jsfiddle.net/z8g613yd/
HTML:
CSS:
JS:
onmousemove
: se produit chaque fois que le pointeur de la souris est déplacée au-dessus de l'élément div.onmouseenter
: se produit uniquement lorsque le pointeur de la souris entre dans l'élément div.onmouseover
: se produit lorsque le pointeur de la souris entre dans l'élément div,et de ses éléments enfant (p et span).