我的程序可以识别mousemove event。我想做的是让我的程序在移动设备上工作。
这就是为什么我想把mousemove事件转换成一个touchmove event。
到目前为止我的代码是这样的:
var d=ctx.getImageData(0,0,canvas.width,canvas.height).data;
$hit=$("#hit");
$("#canvas").mousemove(function(e){handleMouseMove(e);});
tolerance = 20;
function handleMouseMove(e){
e.preventDefault();
e.stopPropagation();
mouseX=parseInt(e.clientX-offsetX);
mouseY=parseInt(e.clientY-offsetY);
var isHit=d[(mouseY*cw+mouseX)*4+3]>tolerance;
if(isHit){
$hit.text("Yeahhhh");
}else{
//document.onmousemove = crash;
$hit.text("Noooooooo");
}
}有什么方法可以让我轻松做到这一点吗?
我读过相当于When to use touchmove vs mousemove?的文章,但我不确定如何处理mouseX和mouseY。
发布于 2014-06-05 19:58:27
toe.js -一个轻量级的触摸事件库,工作得很好。Hammerjs绝对有更多的定制化,但toejs看起来更简单。
在您的代码中有一个建议,以避免不必要的event.stopPropagation,请参阅here。
发布于 2014-06-05 19:48:32
您可以使用jQuery UI Touch Punch来处理hack jquery事件
请阅读:http://touchpunch.furf.com/
https://stackoverflow.com/questions/24059277
复制相似问题