У меня есть несколько меню css на моем сайте, которые расширяются с помощью :hover
(без js)
Это работает частично на iDevices, например, касание активирует :hover
правило и расширяет меню, но затем касание в другом месте не удаляет :hover
. Также, если есть ссылка внутри элемента, который является :hover
'ed, вам нужно дважды нажать, чтобы активировать ссылку (первое :hover
нажатие запускает ссылку, второе нажатие запускает ссылку).
Я смог заставить все работать на iphone, привязав touchstart
событие.
Проблема в том, что иногда мобильное сафари по-прежнему выбирает запуск :hover
правила из CSS, а не из моих touchstart
событий!
Я знаю, что это проблема, потому что, когда я :hover
вручную отключаю все правила в CSS, мобильное сафари работает отлично (но обычные браузеры, очевидно, больше не работают).
Есть ли способ динамически «отменять» :hover
правила для определенных элементов, когда пользователь находится в мобильном сафари?
Посмотрите и сравните поведение iOS здесь: http://jsfiddle.net/74s35/3/ Примечание: только некоторые свойства css вызывают поведение при двух щелчках, например display: none; но не фон: красный; или текст-украшение: подчеркивание;