Skip to content

Commit

Permalink
refactored touch to mouse event type translation
Browse files Browse the repository at this point in the history
  • Loading branch information
furf committed Nov 18, 2011
1 parent 2266e88 commit 25ba61a
Showing 1 changed file with 17 additions and 22 deletions.
39 changes: 17 additions & 22 deletions jquery.ui.touch-punch.js
Expand Up @@ -16,23 +16,18 @@
return;
}

var mouseProto = $.ui.mouse.prototype,
var $doc = $(document),
mouseProto = $.ui.mouse.prototype,
_mouseInit = mouseProto._mouseInit,
_mouseDown = mouseProto._mouseDown,
_mouseUp = mouseProto._mouseUp,
_mouseUp = mouseProto._mouseUp;

mouseEvents = {
touchstart: 'mousedown',
touchmove: 'mousemove',
touchend: 'mouseup'
};

function makeMouseEvent (event) {
function translateTouchEventToMouseEvent (event, translatedType) {

var touch = event.originalEvent.changedTouches[0];

return $.extend(event, {
type: mouseEvents[event.type],
type: translatedType,
which: 1,
pageX: touch.pageX,
pageY: touch.pageY,
Expand All @@ -48,26 +43,26 @@
var self = this;

self.element.bind('touchstart.' + self.widgetName, function (event) {
return self._mouseDown(makeMouseEvent(event));
return self._mouseDown(translateTouchEventToMouseEvent(event, 'mousedown'));
});

self._touchMoveDelegate = function (event) {
return self._mouseMove(translateTouchEventToMouseEvent(event, 'mousemove'));
};

self._touchEndDelegate = function(event) {
return self._mouseUp(translateTouchEventToMouseEvent(event, 'mouseup'));
};

_mouseInit.call(self);
};

mouseProto._mouseDown = function (event) {

var self = this,
ret = _mouseDown.call(self, event);

self._touchMoveDelegate = function (event) {
return self._mouseMove(makeMouseEvent(event));
};

self._touchEndDelegate = function(event) {
return self._mouseUp(makeMouseEvent(event));
};

$(document)

$doc
.bind('touchmove.' + self.widgetName, self._touchMoveDelegate)
.bind('touchend.' + self.widgetName, self._touchEndDelegate);

Expand All @@ -78,7 +73,7 @@

var self = this;

$(document)
$doc
.unbind('touchmove.' + self.widgetName, self._touchMoveDelegate)
.unbind('touchend.' + self.widgetName, self._touchEndDelegate);

Expand Down

0 comments on commit 25ba61a

Please sign in to comment.