[英]HTML5 pointermove/touchmove not working in Microsoft Edge
我正在研究一种或多或少是绘图应用程序的东西。 我需要支持Microsoft Edge,这就是问题所在。 一旦你想要捕捉touchmove或pointermove事件,Edge就会尝试滚动(即使它不可能)。 这是一个例子 。 只要尝试在那里画一些东西(触摸/笔),鼠标即使在Edge中也能完美地工作。 在所有其他浏览器(IE可能除外)中,它的效果非常好。
我不知道为什么IE忽略了preventDefault()函数。 有人有想法吗?
示例: https : //jsfiddle.net/ryqagkeb/
实际上不适用于Chrome和Edge上的Surface Pro和Surface Pen。
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;
}
所以我认为我自己找到了解决方案并立即发布,因为我觉得它非常有用。 似乎CSS属性“touch-action”可以解决问题。
设置:
canvas {
touch-action: none;
}
好像它解决了这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.