@biffick
Вопрошатель

Как отменить hover-стиль на мобильных устройствах или преобразовать его в focus?

Имеется класс, например:
.tables th:hover {background:#ddd;}

На ПК (без тачскрина) при наведении мышкой на строку таблицы меняется её фон с белого на #ddd.
Проблема в том, что при прокрутке на тачскринах (телефонах), на месте установки пальца на экране (на строке таблицы) фон #ddd застывает и не станет вновь белым до того, пока я не нажму на другую область экрана.

Хотелось бы понять, как можно решить эту проблему.
Т.е. нужно, чтобы на touch-устройствах .tables th:hover {background:#ddd;} отрабатывал или как .tables th:focus {background:#ddd;}, или вообще как .tables th:hover {background:#fff;}

Как такое можно реализовать на чистом JS или CSS?
На сайте используется JQuery. Modernizr не используется и подключать его из-за такой неприятной мелочи не хочется.
  • Вопрос задан
  • 11250 просмотров
Пригласить эксперта
Ответы на вопрос 2
@ksnk
А вот, кому jQuery лапши?
$(document).on("touchstart", ".tables th", function() {
  $(this).addClass("active");
}).on("touchend", ".tables th", function() {
  $(this).removeClass("active");
});

Ну стили доработать напильником
.tables th:hover, .tables th.active {background:#ddd;}
Ответ написан
vainax
@vainax
псевдо-разработчик
Попробуй так:
@media (max-width: 768px){
.tables th:hover {background:none !important;}
.tables th:focus {background:#ddd;}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы