Работа с событием mouseover / mouseout в jQuery для мобильного Интернета - PullRequest
2 голосов
/ 24 июня 2011

Я работаю в мобильном Интернете и столкнулся с проблемой с mouseover / mouseout событиями, используемыми в js. Эти два события используются для изменения непрозрачности ссылок. Проблема в том, что мне нужно дважды нажать (тестирование на iPhone), чтобы активировать ссылку. Я предполагаю, что при первом касании он рассматривается как событие mouseover, а второй - как событие щелчка.

Можно ли как-нибудь пропустить / отключить / игнорировать эти события для мобильного Интернета, поэтому мне не нужно нажимать дважды?

Спасибо

Ответы [ 3 ]

0 голосов
/ 24 июня 2011

Вы смотрели на jQuery Mobile ? Это может решить множество проблем, связанных с мышью, в мобильном приложении.

0 голосов
/ 12 января 2013

Это запоздалый ответ, но ради потомков и любого гуглящего вот решение:

Вместо использования .mouseenter () используйте .mousemove (). Вы можете оставить mouseleave (), так как это несущественно после нажатия на элемент на мобильном устройстве. .mousemove () игнорируется, и щелчок срабатывает при первом касании.

Возможно, вы захотите связать / отменить привязку события, чтобы оно срабатывало только один раз.

http://api.jquery.com/mousemove/

0 голосов
/ 24 июня 2011

В зависимости от настроек на стороне сервера, возможно, вы могли бы использовать обнаружение пользовательского агента - и, возможно, в частности, элемент UAProf «Обнаружение пользовательского агента», чтобы обслуживать JavaScript для определенных устройств?

Это позволило бы вам обслуживать мобильные устройства различными способами - это помогло бы с любым другим поведением 'over' событий, которое вы можете использовать - расширение div на основе наведения мыши и т. Д.

Там уже много информации, если вы ищете для обнаружения агента пользователя - надеюсь, это поможет.

...