Вместо написания набора кода в JS, почему бы вам просто не добавить правило в таблицу стилей?
.test:hover,
.test:active {
}
Я не мог понять, почему вы не добавляете :active
Правило, как указано выше, но если вы действительно хотите поставить css для этих :hover
и устройств без наведения, то вы можете использовать медиа-запрос, например:
@media (hover: hover) {
.test:hover { }
}
@media (hover: none) {
.test:active { }
}
Там также:
/* the device does not include any pointing device. */
@media (any-pointer: none) {
/* ... */
}
Вы можете узнать больше об этом на medium
Надеюсь, вы найдете это полезным. Но, на мой взгляд, этот шаг действительно не нужен. Как показано в первом примере кода, это будет намного лучше, чем что-либо подобное.