如何在 JS 中将鼠标功能更改为触摸 canvas

How to change mouse functions to touch in JS canvas

在 Javascript 中做了一个简单的绘画。但是它在移动设备上不起作用。

是否有从桌面到触摸屏的简单方法"transformation"?

我尝试将mousemove等鼠标操作更改为touchmove,但没有任何进展。

$('#canvas').mousedown(function(e)  {
    var mouseX = e.pageX - this.offsetLeft;
    var mouseY = e.pageY - this.offsetTop;

    paint = true;
    addClick(mouseX, mouseY, false);
    redraw();
});

$('#canvas').mousemove(function(e){
    if(paint==true){
        addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, true);
        redraw();
    }
});

$('#canvas').mouseup(function(e){
    paint = false;
    redraw();
});

$('#canvas').mouseleave(function(e){
    paint = false;
});

不幸的是,这并不容易"transformation"。在大多数情况下,您必须更改结构。

这篇文章很棒,详细阐述了在 Canvas 中实现触摸功能时应该采用什么样的结构。

http://bencentra.com/code/2014/12/05/html5-canvas-touch-events.html