Событие "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", это ДЕЙСТВИТЕЛЬНО трудно понять. Док сосет.