[英]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.