Intereting Posts
Установить уведомление из папки «Активы» Не удается разрешить метод setText (java.lang.String) Используйте постоянное уведомление, чтобы позволить пользователю вернуться к запущенному приложению Android. Как сделать свечение текста? Есть ли способ проверить, включена ли опция «Установить из неизвестного источника» на Android? Android: получите недостающие переводы для строк-ресурсов Анимация для Android: как увеличить высоту просмотра? Масштабирование вокруг определенной точки в системе координат 2d Программно изменить высоту раскладки, ClassCastException? Android 6: приложение использует больше памяти каждый раз при запуске Как сделать круговую пульсацию на кнопке, когда она нажата? Как обрабатывать внешнюю активность приложения в android с помощью robotium Как получить правильное количество байтов, отправленных и полученных в TrafficStats? Android не поддерживает Android SDK для Kivy в Ubuntu 12.04 Утилита instanceState для Android активирована во время обновления приложения?

JQuery мобильных событий на Android и iphone

Я новый с jquery mobile. Моя проблема в том, что мне нужно поймать события vmousemove на div, потому что мне нужно перетаскивать изображения в этом div, как изображения svg на картах google.

Я получил демо на http://demo.baral.de/test/

У меня есть 3 устройства: iphone iOS5 , Android 3.2 на вкладке Samsung и Android 2.2.2 по желанию HTC . Когда я «зависаю» над зеленым div, я думал, что будет много «vmousemove», пока мой палец касается движений на дисплее.

Огонь iphone :

  • vmouseover
  • vmousedown
  • vmousecancel
  • Много vmousemove
  • vmouseup

Это кажется мне идеальным для меня

Android 3.2 срабатывает:

  • vmouseover
  • vmousedown
  • vmousecancel
  • vmousemove

Android 2.2.2 срабатывает:

  • vmouseover
  • vmousedown
  • vmousecancel
  • Vmousemove (1 раз)

И после того, как я закончил движение, и мой палец покинул экран, который он стреляет

  • Много vmousemove
  • vmouseup

Является ли это «нормальным» для jQuery mobile? Ошибка или просто неправильный код?

Благодаря!

Код:

<!DOCTYPE html> <html> <head> <title>My Page</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" /> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script> </head> <body> <div data-role="page" data-position="fixed" id="wrapper"> <div id="test" style="width: 200px; height: 200px; background-color: green"></div> <div id="footer" style="border: 1px solid black; width: 200px;"> <ul></ul> </div> </div> <script type="text/javascript"> $("#wrapper").live('pageinit', function() { $("#test").bind('vmouseover vmousedown vmousemove vmouseup vclick vmousecancel', function (event) { $('#footer ul').append("<li>"+event.type+"</li>"); }); }); </script> </body> 

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

У меня была аналогичная проблема, и добавление «event.preventDefault ()» в начале функции обратного вызова разрешило ее. Подробности здесь описаны.

Пример:

 $("#test").bind('vmouseover vmousedown vmousemove vmouseup vclick vmousecancel', function (event) { event.preventDefault(); $('#footer ul').append("<li>"+event.type+"</li>"); });