多点触控处理程序在javascript中触发单触处理程序
问题描述:
我想在两次触摸屏幕并平移多点触控拖动时的视图/屏幕时在js画布上绘制一条线。但每次拖动时,都会绘制一条我不想要的线条。这里是我的测试代码。多点触控处理程序在javascript中触发单触处理程序
eventjs.add(viewer.drawer.element, "drag", function(event, self) {
console.log("touchstart" + self.fingers);
console.log(event);
//console.log('event');
//console.log(event);
//console.log('self ' + self.fingers + ' status ' + self.state);
//console.log(self);
if(self.state == 'move' && self.fingers == 2) {
console.log('panning');
}else if(self.state == 'up' && self.fingers == 2){
console.log('pan end');
}
else if(self.fingers == 1 && event.type=="touchstart"){
console.log('draw line');
}
});
我使用Event.js进行触摸事件。任何帮助将不胜感激。
答
根据自己:
但每次我拖的时间,绘制一条线,我不想要的。
绘制您使用touchstart。
touchstart是第一次触摸事件发生的时间。这意味着如果一个指针在另一个指针之前触摸屏幕(发生很多事情是因为手指不协调,直到纳米),它会触发错误的事件。
所以,变化:
else if(self.fingers == 1 && event.type=="touchstart"){
console.log('draw line');
}
到:
else if(self.fingers == 1 && event.type=="move"){
console.log('draw line');
}
它的动作,一个手指触地时,将借鉴。如果触摸两根手指并移动,则平移。
这是一个提供的网站吗?你使用HTML/CSS/JS来开发android应用程序吗? – Zoe
没有。我使用简单的JavaScript。 –
JS在哪里被使用?它是开发你的应用程序吗?还是你想在网站上处理多点触控?还是通过WebView? – Zoe