Comprendre la différence entre les événements Mouseover et Mouseenter
Les événements mouseover et mouseenter répondent tous deux au mouvement du curseur de la souris sur un élément. Cependant, il existe une distinction subtile entre eux.
Mouseover
L'événement mouseover se déclenche chaque fois que le curseur de la souris entre ou se déplace dans les limites d'un élément, y compris les descendants. éléments. Cela signifie que si vous déplacez le curseur de la souris sur un élément enfant imbriqué dans l'élément principal, l'événement mouseover sera toujours déclenché pour l'élément principal.
Mouseenter
En revanche, l'événement mouseenter se déclenche uniquement lorsque le curseur de la souris entre pour la première fois dans les limites d'un élément, à l'exclusion des éléments descendants. Si vous déplacez le curseur dans l'élément ou sur un élément enfant, l'événement mouseenter ne sera plus déclenché.
Quand utiliser chaque événement
Le choix entre utiliser mouseover et mouseenter dépendent de vos besoins spécifiques :
Exemple
Considérez le code suivant :
$("div.overout") .mouseover(function() { // Event triggered for mouseover and within the nested element }) .mouseout(function() { // Event triggered when mouse leaves the main element }); $("div.enterleave") .mouseenter(function() { // Event triggered only when mouse enters the main element }) .mouseleave(function() { // Event triggered when mouse leaves the main element });
Dans cet exemple, l'événement mouseover sera déclenché à chaque fois que le curseur de la souris se déplace dans l'élément "div.overout" ou son élément imbriqué. D'autre part, l'événement mouseenter ne sera déclenché que lorsque le curseur entrera pour la première fois dans l'élément "div.enterleave".
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3