Lorsque la souris survole un élément en raison d'un défilement (par molette ou par défilement au clavier), elle ne déclenche pas d'événement de survol des éléments sur lesquels elle survole (Chrome 6 sous OSX). Quelle serait une façon élégante de déclencher l'événement mouseover pour les éléments corrects lors du défilement?Comment est-ce que je peux faire défiler des événements de mouseover de déclenchement de page?
6
A
Répondre
3
Honnêtement, ça va être une douleur. Vous devrez
- déterminer la taille et la position de chaque élément devant recevoir un gestionnaire de survol de la souris.
- Ajoutez un écouteur de défilement à la fenêtre.
- Dans le gestionnaire, obtenez la position du curseur de la souris et le paramètre pageOffset.
- savoir quel élément (s) le curseur se trouve.
- appeler manuellement le gestionnaire mouseover réelle
- (Découvrez quels éléments le curseur a gauche, si vous voulez un comportement mouseout aussi)
Vous devrez peut-être recalculer les positions et les tailles des éléments s'ils sont dynamiques. (déplacer 1. sous 3.)
Bien que cela devrait fonctionner avec des éléments de niveau bloc, je n'ai absolument aucune idée sur une solution pour les éléments en ligne.
Questions connexes
- 1. Div Faites défiler sur MouseOver
- 2. Déclenchement indésirable des événements de zone de texte
- 3. Comment est-ce que je peux attraper des événements de défilement dans des formes de Windows PropertyGrid
- 4. Faire défiler DIV Horizontalement avec les événements de souris
- 5. Comment puis-je faire un MouseOver de forme d'image exacte?
- 6. Puis-je faire un "film" Flash/swf dans lequel je peux faire défiler l'enregistrement sonore?
- 7. éviter que les images de fond permettant de faire défiler
- 8. comment faire défiler de fantaisie
- 9. Comment faire défiler la page avec rjs?
- 10. Comment faire défiler la page par programmation?
- 11. Pourquoi faire défiler page Web vers le haut, je dois faire défiler le $ (« html »)
- 12. Faire défiler les éléments de la liste provoque des éléments de texte pour faire défiler et
- 13. Comment faire pour supprimer l'événement mouseover/mouseout
- 14. Comment faire défiler les blocs de matrice?
- 15. Javascript MouseOver/MouseOut événements enfants
- 16. Comment est-ce que je peux piéger tous les événements de souris sur un contrôle?
- 17. Comment est-ce que je peux faire passer la page shift + barre d'espace dans Vim?
- 18. Comment faire défiler automatiquement inline div sans faire défiler toute la page?
- 19. Comment pourrais-je faire une fonction C que je peux appeler de Lua?
- 20. comment je peux faire cette requête SQL?
- 21. Comment est-ce que je peux faire des présentations PowerPoint/charger automatiquement des ppts?
- 22. Comment faire défiler pour l'application de chat?
- 23. Comment capturer des événements mouseover sur des éléments HTML d'entrée ajoutés dynamiquement à l'aide de jQuery?
- 24. Flex: Comment faire défiler la page vers le bas?
- 25. Que puis-je faire en utilisant awk que je ne peux pas faire en Perl?
- 26. C# - Je sais que je peux le faire dans LINQ, mais je ne peux pas le faire fonctionner
- 27. Besoin de faire défiler une grille WPF
- 28. Comment faire défiler élément avec vous sur la page?
- 29. comment faire défiler la page flash en haut?
- 30. Utiliser setInterval dans les événements live de jQuery mouseOver/mouseOut
Ouch, c'est ce dont j'ai peur. S'il n'y a aucun moyen de profiter du navigateur pour faire ça (ça fait tout le temps tout de même, non?), Je peux simplement ignorer cette fonctionnalité ... tout de même, ce serait sympa. –
Évidemment, Chrome 6 ne le fait pas tout le temps - sinon l'événement mouseover se déclencherait;) – user123444555621