diff --git a/src/DragHandle.js b/src/DragHandle.js index 8df2e47..e93477c 100644 --- a/src/DragHandle.js +++ b/src/DragHandle.js @@ -37,14 +37,18 @@ var DragHandle = function (handler) { return; } + //Android devices have different structure of TouchEvent so e.e.touches[0] element uses in this case + var pageX = (typeof e.e.pageX !== 'undefined' ? e.e.pageX : e.e.touches[0].pageX); + var pageY = (typeof e.e.pageY !== 'undefined' ? e.e.pageY : e.e.touches[0].pageY); + // We're using a polyfill to calculate moude/touch movement if the browser/device // does not support movementX/movementY. var previousMouseData = util.MouseMetrics.previousMouseData; var movement = { - x: 'movementX' in e.e ? e.e.movementX : (previousMouseData.x ? e.e.pageX - previousMouseData.x : 0), - y: 'movementY' in e.e ? e.e.movementY : (previousMouseData.y ? e.e.pageY - previousMouseData.y : 0) + x: 'movementX' in e.e ? e.e.movementX : (previousMouseData.x ? pageX - previousMouseData.x : 0), + y: 'movementY' in e.e ? e.e.movementY : (previousMouseData.y ? pageY - previousMouseData.y : 0) }; - util.MouseMetrics.setPreviousMouseData({x: e.e.pageX, y: e.e.pageY}); + util.MouseMetrics.setPreviousMouseData({x: pageX, y: pageY}); _movedHandle = true; if (_currentAxis === 'x') {