我正在研究变压器垫并开发绘图板。我使用 PhoneGap(javascript) 而不是 JAVA 来编写代码。
但是 touchmove 事件很奇怪。
我想当我在垫子上移动手指时,它会不断收集我在画布上触摸的坐标。但事实并非如此!太荒谬了,它只收集“1”坐标:我手指移动到的画布上的第一个点。
这是我关于“触摸 && 移动事件”的代码:
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++;
}
我不知道为什么每次我在垫子上移动手指,试图画一条线、曲线或任何我想要的东西。当手指移动时,只会出现一个 VERY SHORT 段。所以我在这个js文件的开头声明了一个变量:“var test=0”。我发现虽然我在pad上移动手指没有离开或停止,但“test”的值仍然是1。这意味着我在它上面移动了手指。但它不会连续触发事件:“Touch_Move”。
我现在能做什么?我需要一个相应的事件来在触摸板上“mousemove”。至少,事件必须不断被触发。
Thank you!