keerthana
keerthana

Reputation: 117

"touchmove" event is not triggered in Microsoft Edge

I need to detect an element when it is dragged based on the clientx and clienty position of the touchmove event. In Chrome, the touchmove event is recognized and position is returned properly whereas the touchmove event is not recognized in Microsoft Edge.

<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');
   })
 });

I get the event type as mousemove in Edge, but I want to get the touchmove event instead. Is there any way to do that?

Upvotes: 1

Views: 755

Answers (2)

Christopher Vickers
Christopher Vickers

Reputation: 1953

You need to add the "passive: false" as shown below in some sample code. It is because by default passive is set to true. I spent days figuring this one out!

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

EDIT. I believe the other post is correct and this one is wrong, however just in case it doesn't work I have left this here as other browsers require the passive: false to function as you require

Upvotes: 0

Rorejs
Rorejs

Reputation: 11

Try adding this to the HTML file:

canvas { touch-action: none;}

Upvotes: 1

Related Questions