2013-02-17 3 views
1

так что я хочу иметь возможность получить координаты касания, когда кто-то пробирается через экран устройства с сенсорным экраном, работающего под управлением iOS или Android.«touchmove» событие на Android и iPhone с помощью PhoneGap

То, что я пытался сделать до сих пор, заключается в следующем.

$('element').bind("touchmove", function(e) { 
    $(element2).html(e.pageX + "," + e.pageY); 
} 

плюс я пробовал то же самое с «vmousemove» (т.е. JQuery мобильного равнозначную или так и должно быть), «MouseMove», но безрезультатно. Я получаю только координаты начального и конечного касания.

Заранее благодарен

ответ

6

iOS и Android являются устройствами с сенсорным управлением. Взаимодействие осуществляется с помощью сенсорных событий:

https://developer.mozilla.org/en-US/docs/DOM/Touch_events

+0

Точно, я пробовал использовать «touchmove», но функция обратного вызова вызывается только дважды .... Я использую phonegap 2.3.0, и это происходит на Android 4.0.1 –

+2

Да, но вы не обрабатываете событие e правильно. Вы должны работать с e.touches. Он предоставляет массив объектов Touch. См. Также следующее: http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/TouchEventClassReference/TouchEvent/TouchEvent.html –

+0

Вы правы, как ожидалось, большое спасибо ! –

0

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

например.

$('element').bind("touchmove", function(event) { 
    var e = ev.originalEvent; 
    var touch = e.touches[0]; 
    $(element2).html(touch.pageX + "," + touch.pageY); 
} 

EDIT: Я забыл о массиве касаний ... мой плохой.