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