簡體   English   中英

HTML5指針移動/ touchmove無法在Microsoft Edge中工作

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM