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