Как запустить Mouse-Over на iPhone?

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

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

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

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

Ответ 1

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

Больше информации здесь

Ответ 2

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

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

Ответ 3

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

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

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

Ответ 4

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

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

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

Ответ 5

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

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

Ответ 6

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

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

Ответ 7

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

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

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

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

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

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