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 +})();