HTML5 pointermove / touchmove在微软边缘不工作(HTML5 pointe

2019-09-30 00:08发布

我工作的一些东西,或多或少的绘图应用程序。 我需要支持微软Edge和有问题。 只要你想赶上的TouchMove或pointermove事件,边试图滚动(即使这是不可能的)。 下面是一个例子 。 只是尽量画的东西在那里(触摸/笔),鼠标完美的作品,即使在边缘。 在其他浏览器(可能除了IE)它工作得很好。

我不知道为什么IE被忽略的preventDefault()函数。 有一个人的想法?

示例: https://jsfiddle.net/ryqagkeb/

其实不符合我的面临的工作与在Chrome和边缘表面笔。

canvas = document.getElementsByTagName('canvas')[0];
ctx = canvas.getContext('2d');
start = 0;
canvas.onpointerdown = function(evt) {
    start = 1;
}

canvas.onpointermove = function(evt) {
    if(start) {
        ctx.fillRect(evt.clientX, evt.clientY, 5,5);
    }
}

canvas.onpointerup = function(evt) {
    start = 0;
}

Answer 1:

所以,我想我已经找到了解决自己和现在发布它,因为我认为这是非常有帮助的。 看来CSS属性“触摸动作”就可以解决问题。

设置:

canvas {
    touch-action: none;
}

现在看来似乎解决了这个问题。



文章来源: HTML5 pointermove/touchmove not working in Microsoft Edge