2010-11-01 2 views
2

Наш сайт использует библиотеку overLIB для отображения «дополнительной информации» об интерактивных ссылках на мыши. В результате на устройствах iOS первый щелчок приведет к появлению текста мыши, а второй активирует ссылку.минуя события mouseover для iOS

Что является самым простым способом сохранить текст на клавиатуре для браузеров без iOS, минуя его для пользователей, использующих iOS, так что для iOS ссылки активируются при первом нажатии?

ответ

2

Если вы хотите простое решение, вы можете использовать что-то вроде Modernizr, как описано здесь: What's the best way to detect a 'touch screen' device using JavaScript?. Затем вы можете привязывать события overLIB к классам без касания и т. Д. Таким образом, вы можете адресовать всех пользователей сенсорных устройств, а не только пользователей iOS. Разумеется, если вы хотите только пользователей iOS, вы всегда можете использовать UN (http://www.quirksmode.org/js/detect.html), хотя это не рекомендуется.

Однако у вас все еще есть проблема, что вы загружаете скрипты overLIB для пользователей, которым это не нужно. Я думаю, что лучший способ избежать этого зависит от остальной части вашего стека.

Еще одна вещь, о которой стоит подумать, - это цель подсказок наведения. Если они полезны на вашем рабочем столе для того, чтобы помочь пользователям узнать, куда они идут, не делая инвестиции в клик, почему они не полезны на вашем сайте сенсорного устройства? Я знаю, что наведение неудобно на сенсорных устройствах, но я думаю, что они достаточно распространены, так как альтернативы пока нет. Я бы сказал, что пользователи сенсорного устройства понимают поток. Единственный пример, который приходит на ум, - это бесшовный сайт. Когда вы выбираете пункт меню из ресторана, вы получаете описание «hover», а затем требуется второй щелчок, чтобы выбрать элемент.

Я понимаю, что это старый вопрос - ответ на вопрос о Гуглерах. :)

0

Другое solution предназначено для использования .mousemove() вместо .mouseover().

iOS игнорирует событие .mousemove() и запускает щелчок по первому касанию.

+0

Это вопрос javascript, так почему бы не ответить с допустимым использованием API JavaScript. Нигде в вопросе не упоминается jQuery. –

+0

Ах, извините, новичок в этом, просто пытаюсь помочь. –

+0

iOS больше не игнорирует mousemove (не уверен, когда это изменилось), задокументировано здесь https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html – Rwky

Смежные вопросы