Как убить hover в устройстве с сенсорным экраном?

Solmyr
На сайте с 10.09.2007
Offline
501
799

Эвенты ontouchstart, ontouchmove, ontouchend обрабатываю своими обработчиками, в которых везде написано e.preventDefault() с евентами собственно все хорошо. Но на элементы по которым тыкает пальцем пользователь все равно применяется псевдокласс :hover

Как этого избежать?

R
На сайте с 20.02.2015
Offline
59
#1

Определять скриптом устройство и убирать из псевдокласса :hover свойства.

Можно так:


<html>
<head>
</head>
<body class="">
<style>
body.yes-touch .button:hover {
/*no affect*/
}
body.no-touch .button:hover {
color:green;
}
</style>
<script>
var is_touch = true;
document.body.classList.add(is_touch ? "yes-touch" : "no-touch");
</script>
<button class="button">TEST</button>
</body>
</html>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий