Javascript 绘制应用HTML5画布,触摸事件问题

Javascript 绘制应用HTML5画布,触摸事件问题,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我把这个绘图应用程序作为一个练习,但现在我想在一个项目中重用代码,但我的问题是我需要触摸事件(对于ipad)而不是鼠标事件 我尝试使用jquery mobile,但无法正确获取X和Y 这里是现场演示: 代码如下: var color = $(".selected").css("background-color"); var $canvas = $("canvas"); var context = $("canvas")[0].getContext("2d"); context.lineWidt

我把这个绘图应用程序作为一个练习,但现在我想在一个项目中重用代码,但我的问题是我需要触摸事件(对于ipad)而不是鼠标事件

我尝试使用jquery mobile,但无法正确获取X和Y

这里是现场演示:

代码如下:

var color = $(".selected").css("background-color");
var $canvas = $("canvas");
var context = $("canvas")[0].getContext("2d");

context.lineWidth = 2;
var lastEvent;
var mouseDown = false;


  $canvas.mousedown(function(e){

    lastEvent = e;
    mouseDown = true;

  }).mousemove(function(e){

    if(mouseDown){
    context.beginPath();
    context.moveTo(lastEvent.offsetX, lastEvent.offsetY );
    context.lineTo(e.offsetX, e.offsetY);
    context.strokeStyle = color;
    context.stroke();
    lastEvent = e;
    }


  }).mouseup(function(){

    mouseDown = false;

  }).mouseleave(function(){

    $canvas.mouseup();
  });

谢谢。

HTML5画布支持触摸事件,您必须将它们添加为事件处理程序。我尝试了触摸事件,如“touchstart”而不是mousedown,该事件工作正常,但我的问题是“context.lineTo(e.offsetX,e.offsetY);”