J'ai créé un carrousel avec un bouton précédent et un bouton suivant qui sont toujours visibles. Ces boutons ont un état de survol, ils deviennent bleus. Sur les appareils tactiles, comme l'iPad, l'état de survol est collant, de sorte que le bouton reste bleu après avoir été touché. Ce n'est pas ce que je veux.
-
Je pourrais ajouter un
no-hover
classeontouchend
pour chaque bouton, et faire mon CSS comme ceci :button:not(.no-hover):hover { background-color: blue; }
mais c'est probablement très mauvais pour les performances, et cela ne permet pas de pas les appareils comme le Chromebook Pixel (qui possède à la fois un écran écran tactile et une souris) correctement. -
Je pourrais ajouter un
touch
à la classedocumentElement
et faire mon CSS comme ceci :html:not(.touch) button:hover { background-color: blue; }
Mais cela ne fonctionne pas non plus correctement sur les appareils dotés à la fois d'un écran tactile et d'une souris. souris.
Ce que je préférerais, c'est de supprimer l'état de survol. ontouchend
. Mais il ne semble pas que cela soit possible. La mise au point d'un autre élément ne supprime pas l'état de survol. Le fait de toucher manuellement un autre élément le fait, mais je ne parviens pas à le déclencher en JavaScript.
Toutes les solutions que j'ai trouvées semblent imparfaites. Existe-t-il une solution parfaite ?