J'ai publié un outil qui devrait résoudre ce problème pour vous.
À première vue, le problème semble simple, mais en réalité, le comportement des touches et des clics doit être personnalisé de manière assez poussée, y compris les fonctions de temporisation et des choses comme "ce qui se passe lorsque vous faites défiler une liste de liens" ou "ce qui se passe lorsque vous appuyez sur un lien et que vous déplacez la souris/le doigt hors de la zone active".
Cela devrait résoudre le problème d'un seul coup : https://www.npmjs.com/package/active-touch
Vous devrez soit faire affecter vos styles :active à la classe .active, soit choisir votre propre nom de classe. Par défaut, le script fonctionne avec tous les éléments de lien, mais vous pouvez le remplacer par votre propre tableau de sélecteurs.
Les commentaires et les contributions honnêtes et utiles sont très appréciés.