首页 文章

在画布上拖动JavaScript

提问于
浏览
0

我一直在使用 mousedownmousemove 和其他触摸事件,但它们似乎都没有解决我的问题 .

我的目标是尝试获取跟随用户手指或鼠标的对象 . 我尝试使用mousemove,它工作,但只在计算机上 . 在移动设备上它失败了,只是在点击开始之后,没有别的 .

我认为问题可能是因为在计算机上,如果点击并拖动鼠标,计算机会将其视为拖动 . 在移动设备上,拖动可能意味着您没有使用水龙头 .

关于使用什么或问题是什么的任何想法?

先感谢您!

这是一些示例代码

document.addEventListener("mousemove", function(e){
    var x = e.pageX;
    var y = e.pageY;
});

1 回答

  • 1

    对于触摸屏输入,您必须使用touch-event API . 这些API包括

    • touchstart

    • touchend

    • touchcancel

    • touchmove

    或者,如果您可以尝试新的pointer event API .
    有了它,你可以编写类似于使用鼠标事件的代码 . 例如

    • mousedown>指针

    • mouseup>指针

    • mousemove> pointermove

    该规范集成了来自鼠标,触摸屏和笔的各种输入,使得不再需要单独的实现,并且更容易为跨设备指针创作 . 不要误解与无关的“指针事件”CSS属性 . - 我可以用吗

    但是,它还没有得到其他浏览器的良好支持 . 见pointer's browsers compatibility

    幸运的是,有一个polyfill为https://github.com/jquery/PEP

相关问题