Как вызвать наведением мыши на iPhone? - PullRequest
10 голосов
/ 01 декабря 2009

Это может показаться очень глупым вопросом, но я пишу приложение, и я столкнулся с тем, что при наведении мыши, щелчке мышью и наведении мышки требуются разные события, связанные с ними. Теперь в Internet Explorer, Firefox и Safari. Все работает как положено.

Однако на моем iPhone действия не сработают. Теперь мой вопрос: есть ли у них какие-то особые способы, которыми я могу заставить мышку по существу срабатывать, когда я удерживаю палец и запускаю событие?

Пример, где это не работает, является правильным на этом веб-сайте, когда вы наводите курсор на комментарий, он должен отображать значок +1 или значок флага.

Я использую jquery.

Ответы [ 7 ]

28 голосов
/ 10 июля 2010

Ответ находится в документации, которую выложил Ремус. Если вы добавите объявление onclick = "void (0)", вы проинструктируете Mobile Safari о том, что элемент кликабелен, и вы получите доступ к событию mouseover этого элемента.

Подробнее здесь

15 голосов
/ 01 декабря 2009

Я думаю, вам нужно пересмотреть свой дизайн для iPhone (и любого мобильного телефона в этом отношении). Веб-интерфейсы iPhone не должны зависеть от наведений и наведений мыши, поскольку они значительно усложняют интерфейс.

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

4 голосов
/ 01 декабря 2009

Mobile Safari не имеет событий мыши и наведения (по крайней мере, в обычном общепринятом смысле), они явно вызываются в Создание совместимого веб-контента Неподдерживаемые технологии iPhone OS:

События при наведении мыши Пользователь не может «навести курсор мыши» на нескользкий элемент на iPhone OS. элемент должен быть кликабельным для событие наведения мыши должно происходить как описано в « Событиях с одним пальцем

Стили наведения мыши Поскольку отправляется только событие наведения мыши перед событием mousedown, стили парения отображаются только если пользователь касается и содержит интерактивный элемент с стиль наведения Прочитайте « Обработка событий » для всех событий, сгенерированных жесты на iPhone OS.

2 голосов
/ 05 мая 2010

Да ... Я не думаю, что кто-то, задававший вопрос, действительно ожидал, что устройство "ощутит" зависание или наведение мыши. На самом деле вы должны быть довольно высокомерны, чтобы предположить, что кто-то на самом деле имел в виду это. Некоторый метод запуска этих обработчиков событий - это то, что нужно. Я определенно вижу их использование в тексте «подсказки», который появляется над пунктами.

И кто бы ни сказал, что использование мышиных событий делает более понятным и простым, восприятие их собственного мнения слишком серьезно. Это может значительно улучшить работу веб-страницы / приложения или сделать их еще хуже. Это вопрос разумного использования.

Единственный ответ, который здесь предоставлен, стоит того, кто сказал, что лучше иметь альтернативный сайт, оптимизированный для мобильных устройств. Или, возможно, используйте систему управления контентом, которая генерирует страницу на основе типа браузера (аналогично тому, как работает Википедия).

1 голос
/ 01 декабря 2009

Поздравляем с первым открытием в дизайне сенсорного экрана. Плохая новость в том, что то, чего вы хотите, просто не произойдет.

Хорошей новостью является то, что это заставит вас сделать интерфейс намного проще, как для пользователей iphone, так и для обычных веб-пользователей.

0 голосов
/ 16 ноября 2010

Написание обработчика мыши в javascript кажется довольно простым, хотя я могу себе представить, что легко ошибиться во многих крайних случаях.

Хорошая новость заключается в том, что кто-то написал обработчик мыши / эмулятор javascript, как угодно - в виде букмарклета. Он называется iCursor (не путать с бессмысленным одноименным Mac-приложением).

Плохая новость: сайт парня (icursor.mobi) отключен, и я не могу найти копию, поэтому не могу сказать вам, насколько хорошо она работает. Вот обзор (потому что я могу разместить только одну ссылку):

То, что Apple должна была сделать для iPhone / iPad, это заставить панорамирование одним пальцем перемещать указатель виртуальной мыши, а панорамирование двумя пальцами - в окне просмотра (как сейчас делает один палец).

Простое панорамирование двумя пальцами; единственная причина, по которой я могу представить, что Apple не делает это, заключается в том, что они действительно хотели взломать 50% веб-сайтов в мире. Шутки в сторону. Это прямо там со злобными манипулятивными попытками нарушить стандарты, которые Microsoft делала все эти годы.

Вы веб-разработчик. Что ты ненавидишь больше всего? Internet Explorer. Из-за всех дополнительных головных болей это вызывает вас. Ну, у Стиви должен был быть момент «я тоже», и ты заплатишь за него.

0 голосов
/ 01 декабря 2009

Вы просто не можете использовать функции наведения мыши или наведения мыши на устройствах с сенсорным экраном, если только вы не можете перемещать виртуальный указатель (хотя ни один сенсорный интерфейс не предоставляет такого рода функциональные возможности), но это лишило бы смысла интерфейс сенсорного экрана.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...