" touchmove" Microsoft Edge中未触发事件

时间:2018-04-25 12:12:16

标签: javascript microsoft-edge mousemove touchmove

我需要根据touchmove事件的clientx和clienty位置检测元素。在Chrome中,可识别touchmove事件并正确返回位置,而Microsoft Edge中无法识别touchmove事件。

<div id="ele" style="position:absolute; top:0px; left:0px; width:100px;height:100px;border:1px solid"></div>

$(document).ready(function() {
   document.getElementById('ele').addEventListener('touchmove', function(e) 
   {
       console.log('event triggered');
   })
 });

我在Edge中将事件类型视为mousemove,但我希望获得touchmove事件。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

尝试将其添加到HTML文件:

canvas { touch-action: none;}

答案 1 :(得分:0)

您需要添加“ passive:false”,如下面的一些示例代码所示。这是因为默认情况下被动设置为true。我花了几天的时间弄清楚这个!

document.addEventListener('touchmove', function(e) {
    e.preventDefault();
}, { passive: false });

编辑。我相信另一篇文章是正确的,这是错误的,但是为了防万一,我将其留在这里,因为其他浏览器需要使用被动的:false才能按需运行