Событие "touchmove" в системе Android: Transformer Prime

Я работаю над Transformer Pad и разрабатываю чертежную пластину. Я использую PhoneGap (javascript) для написания кода вместо JAVA.

Но событие touchmove довольно странно.

Я думаю, когда я двигаю пальцем по пэду, он будет непрерывно собирать координаты, которые я нажмите на холст. НО ЭТО НЕ! Это смешно, он только собирает координату "1": первая точка на холсте, к которому движется мой палец.

Вот мой код о событии "Touch && Move":

function touchStart(event){
    if (event.targetTouches.length == 1) {
    var touch = event.targetTouches[0];     

        if (event.type == "touchstart") {
            line_start_x= touch.pageX-  canvas_org_x;
            line_start_y= touch.pageY-  canvas_org_y;
            context.beginPath();                        
            context.moveTo(line_start_x, line_start_y); 

        }//if           
    }//if 1
}//function.

function Touch_Move(event){
    line_end_x= event.touches[0].pageX-  canvas_org_x;
                line_end_y= event.touches[0].pageY-  canvas_org_y;
                context.lineTo(line_end_x, line_end_y);
                context.stroke();
                test++;                 
}

Я не знаю, почему каждый раз, когда я двигаю пальцем по пэду, пытаясь нарисовать линию, кривую или что-то еще Я хочу. По мере перемещения пальца появляется только сегмент ОЧЕНЬ КОРОТКО. Поэтому я объявляю переменную: "var test = 0" в начале этого js файла. Я обнаружил, что, хотя я двигаю пальцем по пэду, не оставляя его или останавливаясь, значение "тест" остается 1. Это означает, что я двигаю пальцем по нему. Но это не непрерывно запускать событие: "Touch_Move".

Что мне теперь делать? Мне нужно соответствующее событие для "mousemove" на сенсорной панели. По крайней мере, событие должно непрерывно запускаться.

                                                                   Thank you!

Ответы

Ответ 1

О, Иисус. Я наконец нашел ответы: Пожалуйста, обратитесь за ссылкой на этот сайт.

Если вы работаете в Android-системе, помните, что "touchmove" только огонь один раз, как ваш палец перемещается вокруг площадки. Поэтому, если вы хотите нарисовать линию или что-то еще, вы должны сделать это:

function onStart ( touchEvent ) {
if( navigator.userAgent.match(/Android/i) ) {   // if you already work on Android system, you can        skip this step
touchEvent.preventDefault();     //THIS IS THE KEY. You can read the difficult doc released by W3C to learn more.
}

И если у вас больше времени, вы можете прочитать документ W3C о введении "movetouch", это ДЕЙСТВИТЕЛЬНО трудно понять. Док сосет.