我需要根据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事件。有没有办法做到这一点?
答案 0 :(得分:0)
尝试将其添加到HTML文件:
canvas { touch-action: none;}
答案 1 :(得分:0)
您需要添加“ passive:false”,如下面的一些示例代码所示。这是因为默认情况下被动设置为true。我花了几天的时间弄清楚这个!
document.addEventListener('touchmove', function(e) {
e.preventDefault();
}, { passive: false });
编辑。我相信另一篇文章是正确的,这是错误的,但是为了防万一,我将其留在这里,因为其他浏览器需要使用被动的:false才能按需运行