Jump to content
  • 0

:hover в мобильных браузерах


Bassline
 Share

Question

Допустим есть некая форма со списком услуг. При наведение пункт списка меняет цвет. При клике цвет фиксируется, т.е. добаляется класс с помощью js, при повторном клике класс удаляется и соответственно цвет меняется. Но на тач устройствах hover воспринимается как клик, и в результате выделение не снимается после повторного клика.

Пробовал заменить css hover на js, и при клике насильно удалять класс, который вешается при наведении. Помогло, но не во всех браузерах, например в 4 айфоне 13-ый яндекс браузер и какая-то сафари не повелись на этот трюк, и упорно цепляются за hover.

 

Какие есть еще варианты?

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0
На touch устройствах нет такого события вообще.

Тогда почему почему они реагируют на него? Если убрать все клики, весь js и оставить только один css hover, то при тапе сработают стили повешенные на ховер.

Link to comment
Share on other sites

  • 0

Не надо js.

Есть псевдоклассы :hover и :focus, которые отвечают за состояния элемента при неведение и в фокусе. На мобильных устройствах :hover срабатывать не будет...

Edited by Cherous
Link to comment
Share on other sites

  • 0

Не надо js.

Есть псевдоклассы :hover и :focus, которые отвечают за состояния элемента при неведение и в фокусе. На мобильных устройствах :hover срабатывать не будет...

читайте выше, у ТС как раз hover срабатывает

Link to comment
Share on other sites

  • 0

Все-таки хочу разобраться с этим до конца.

 

я бы копал в сторону:

:link, :visited, :hover, :focus, :active

ибо они не индивидуальны, а наследуются. У touch-устройств нет :hover события, скорее всего срабатывает :focus.

 

Взял чистую, без единого стиля, страницу. Вставил div с текстом и прописал div:hover { text-decoration:underline;}. При тапе по тексту происходит его подчеркивание. Дополнительно прописал для дива div:focus, div:active и т.д. { text-decoration: none}. Все равно при тапе текст подчеркивается.

Как так? У тач устройств же нет такого события...

Или я чего-то не догоняю?

Edited by Bassline
Link to comment
Share on other sites

  • 0

Оно как бы есть. Одно дело просто div, а другое ссылка. 

Если на PC при ховере мы увидим эффект, то на планшетах, вместе с hover еще и переход по ссылке произойдет, т.е. как бы этот самый hover становится бесполезным. 

Ховер там можно посмотреть, разве что длительным удерживанием пальца на экране, т.е. длительным тапом. Вроде так. 

Edited by npofopr
Link to comment
Share on other sites

  • 0

Здравствуйте.

 

Похоже и у меня проблема автора темы. Тестирую в Хроме как бы из-под тач устройства, и при клике срабатывает стиль :hover. Как сделать, чтобы стиль наведения не срабатывал на тач-устройствах?

Link to comment
Share on other sites

  • 0

в крайнем случае для тач-устройств можно "скормить" отдельный файл стилей с описаным :hover

то есть я этим стилем буду отменять вышеописанный в таблице стилей hover: стиль... А как в css или не в css указать, что это только для тач устройств?

@media handheld

так?

Link to comment
Share on other sites

  • 0

1) цепляем библиотеку https://github.com/hgoebl/mobile-detect.js

2) в document.ready определяем

var md = new MobileDetect(navigator.userAgent),grade = md.mobileGrade();window.mobileDetect = md;

3) к тегу html на мобильных устройствах добавится класс .mobile. Все ховеры в css прописать с начальным html:not(.mobile)

 

В итоге ховеров на мобильниках и планшетах не будет

Edited by antonKar
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy