From 5662472f81dccb29f027c672c49542eb0f74b939 Mon Sep 17 00:00:00 2001 From: llocust Date: Tue, 5 Mar 2013 04:14:43 +0400 Subject: [PATCH] Update dom_event.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On a mobile (touchbased) platform at an event 'touchend' data are stored in the changedTouches array. --- src/util/dom_event.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/util/dom_event.js b/src/util/dom_event.js index cda8ff07..606324a4 100644 --- a/src/util/dom_event.js +++ b/src/util/dom_event.js @@ -223,10 +223,18 @@ if (fabric.isTouchSupported) { pointerX = function(event) { - return (event.touches && event.touches[0] ? (event.touches[0].pageX - (event.touches[0].pageX - event.touches[0].clientX)) || event.clientX : event.clientX); + if (e.type != 'touchend') { + return (event.touches && event.touches[0] ? (event.touches[0].pageX - (event.touches[0].pageX - event.touches[0].clientX)) || event.clientX : event.clientX); + } else { + return (event.changedTouches && event.changedTouches[0] ? (event.changedTouches[0].pageX - (event.changedTouches[0].pageX - event.changedTouches[0].clientX)) || event.clientX : event.clientX); + }; }; pointerY = function(event) { - return (event.touches && event.touches[0] ? (event.touches[0].pageY - (event.touches[0].pageY - event.touches[0].clientY)) || event.clientY : event.clientY); + if (e.type != 'touchend') { + return (event.touches && event.touches[0] ? (event.touches[0].pageY - (event.touches[0].pageY - event.touches[0].clientY)) || event.clientY : event.clientY); + } else { + return (event.changedTouches && event.changedTouches[0] ? (event.changedTouches[0].pageY - (event.changedTouches[0].pageY - event.changedTouches[0].clientY)) || event.clientY : event.clientY); + }; }; } @@ -234,4 +242,4 @@ fabric.util.object.extend(fabric.util, fabric.Observable); -})(); \ No newline at end of file +})();