Salut,
Il y a un point que je ne comprends pas bien dans cette article : https://developer.mozilla.org/fr/doc...useenter_event
Je ne comprends pas pourquoi mouseenter pourrait poser des problèmes de performances par rapport à mouseover... J'aurais même dit le contraire en lisant dans le même article ceci :Avec des hiérarchies profondes, le nombre d'évènements mouseenter envoyé peut être important et entraîner des problèmes de performances. Dans ce cas, mieux vaut écouter les évènements mouseover.
En gros si j'attache un mouseover à un parent il sera déclenché à chaque passage d'un descendant à un autre alors que si j'attache un mouseenter il sera déclenché seulement à l'entré dans le parent, à l'intérieur on peut passer d'un descendant à un autre sans déclenchement.Bien que mouseover soit similaire, mouseenter est différent et ne remonte pas dans le DOM et qu'il n'est pas envoyé aux descendants lorsque le pointeur passe d'un descendant à l'élément.
Alors du coup il y a plus de déclenchements avec mouseover alors si j'ai juste besoin de détecter l'entré dans un élément donné alors ce serait plus judicieux (coté performance) d'utiliser mouseenter contrairement à ce qui est dit dans l'article, non ?
Par contre si je voulais faire de la délégation (détecter chaque passage d'un descendant à un autre avec un seul gestionnaire) alors là oui il serait plus performant d'utiliser un mouseover. Avec un mouseenter cela ne serait pas possible avec un seul gestionnaire, il en faudrait un pour chaque descendant et là c'est évidement beaucoup moins bien coté gestion et performance.
Qu'en pensez-vous ?
PS : Cette partie "Avec des hiérarchies profondes, le nombre d'évènements mouseenter envoyé peut être important..." illustrée par une image est-elle correcte ? Y a-t-il vraiment plusieurs évènements mouseenter qui sont envoyés ? Il me semble que c'est le contraire, non ? Il n'y a qu'un évènement mouseenter qui est envoyé et c'est lorsqu'on entre dans l’élément auquel on a attaché l'événement mouseenter...
Partager