【问题标题】:Replace mousemove with touchmove event用 touchmove 事件替换 mousemove
【发布时间】:2014-06-05 11:41:47
【问题描述】:

我的程序识别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?,但我不确定如何处理mouseXmouseY

【问题讨论】:

  • 使用jQuery mobilehammer.js 之类的触摸库来处理触摸事件。事件对象将包含您需要的所有信息...

标签: javascript html mobile mousemove touchmove


【解决方案1】:

toe.js - 一个轻量级的触摸事件库,运行良好。 Hammerjs 肯定有更多的自定义,但 toejs 看起来更简单。

并在您的代码中提出建议以避免不必要的 event.stopPropagation,请参阅here

【讨论】:

    【解决方案2】:

    您可以使用 jQuery UI Touch Punch 来破解 jquery 事件

    阅读:http://touchpunch.furf.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      相关资源
      最近更新 更多