Intereting Posts
Как выбрать первый элемент в навигационном ящике и открыть фрагмент при запуске приложения Android Текст поверх изображения GetColor (int id) устарел на Android 6.0 Marshmallow (API 23) Универсальный загрузчик изображений roundedBitmapDisplayer Как решить проблему с библиотекой NDK вызывает замораживание потока пользовательского интерфейса Скрытие клавиатуры после вызова новой операции, которая показывает ProgressDialog Прослушиватели событий для Android Вставить instagram в Android WebView Android 6.0 Разрешение отказа: требуется разрешение android.permission.WRITE_SETTINGS Android Action Bar имеет значение null при использовании Theme.Wallpaper Снятие скриншотов в libgdx Robolectric: запустить петлитель обработчика в моем случае Переключение таблиц стилей с помощью Javascript на основе браузера Можно ли установить цвет строки непосредственно в string.xml? Использование «skipWhile» в сочетании с «repeatWhen» в RxJava для реализации опроса сервера

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>"); });