Search code examples
javascripttouchmootools

How to capture touchend coordinates?


I am trying to capture touch coordinate on the touchend event but get undefined. The touchstart event works good, but same concept fails on touchend. I built this code with mousedown and mouseup and that works good.

What am I missing?

div.addEvent("touchstart", function (event) {
    event.preventDefault(); // to avoid scrolling
    span.innerHTML = event.page.x;
});
div.addEvent("touchend", function (event) {
    span.innerHTML = event.page.x;
});

FIDDLE


Solution

  • You need to store the values on touchmove and read it in touchend.

    var lastMove = null;
    
    // Save the touchstart to always have a position
    div.addEvent('touchstart', function(event) {
      lastMove = event;
    });
    
    // Override with touchmove, which is triggered only on move
    div.addEvent('touchmove', function(event) {
      lastMove = event;
    });