javascriptinternet-explorertouchdom-eventsinternet-explorer-10

IE10 MSPointerUp fires without releasing finger (on Touch Hold)


I've been messing around with the IE10 touch API (testing on a Samsung Slate) and I've found that after holding down a touch that the touch release action gets fired.

So here's the process of events that get fired when I hold my finger down on the screen:

Then repeats at REPEAT POINT with incrementing pointerId's.

Here's the code:

// Setup the css on the canvas (allows for detection of MSPointerMove)
$(canvas).css("-ms-touch-action", "none");

// Initialize regular touch actions
canvas.addEventListener('MSPointerDown', TouchStart, false);
canvas.addEventListener('MSPointerMove', TouchMove, false);
canvas.addEventListener('MSPointerUp', TouchEnd, false);

// Initialize the revoking of gestures/other unwanted pieces
canvas.addEventListener("MSPointerCancel", function (e) { e.preventDefault(); }, false);
canvas.addEventListener("MSGestureInit", function (e) { if (e.preventManipulation) e.preventManipulation(); }, false);
canvas.addEventListener("MSHoldVisual", function (e) { e.preventDefault(); }, false);

This could absolutely just be a Slate issue but I thought it'd be wise to ask to make sure i'm not missing anything. If this is not just a Slate issue then how do I allow for the user to hold down their finger without triggering an unneeded "MSPointerUp" event after a second or so.


Solution

  • It turns out that this issue is a common issue with W7/W8 Samsung tablets that have not had their drivers updated.

    Was able to get it to work by updating drivers at: http://www.samsung.com/ca/support/win8upgrade/