На моєму сайті є декілька меню css, які розширюються за допомогою :hover (без js)
Це працює напіврозбито на iDevices, наприклад, натискання активує :hoverправило та розширює меню, але натискання в іншому місці не видаляє :hover. Крім того, якщо в елементі є :hoverпосилання, вам потрібно двічі натиснути, щоб активувати посилання:hover , посилання другого натискання).
Я зміг змусити речі добре працювати на iphone, прив'язавши touchstart подію.
Проблема в тому, що іноді мобільне сафарі все-таки вирішує запускати :hoverправило з css замість могоtouchstart подій!
Я знаю, що це проблема, тому що, коли я відключаю всі :hover правила вручну в css, мобільне сафарі чудово працює (але звичайні браузери, очевидно, цього більше не роблять).
Чи є спосіб динамічно "скасувати" :hoverправила для певних елементів, коли користувач перебуває в мобільному сафарі?
Подивіться і порівняйте поведінку iOS тут: http://jsfiddle.net/74s35/3/ Примітка: лише деякі властивості css ініціюють поведінку у два кліки, наприклад display: none; але не фон: червоний; або оформлення тексту: підкреслення;
