From cfa0f0b6978d9c8a262717f649ac5bb9069d8896 Mon Sep 17 00:00:00 2001 From: Will Schleter Date: Sat, 21 Jul 2012 11:06:01 +0000 Subject: [PATCH] Address issue 526: new file that is part of patch to handle touch events git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2086 eee81c28-f429-11dd-99c0-75d572ba1ddd --- editor/touch.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 editor/touch.js diff --git a/editor/touch.js b/editor/touch.js new file mode 100644 index 00000000..3046ff99 --- /dev/null +++ b/editor/touch.js @@ -0,0 +1,30 @@ +// http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript/ + +function touchHandler(event) +{ + + var touches = event.changedTouches, + first = touches[0], + type = ""; + switch(event.type) + { + case "touchstart": type="mousedown"; break; + case "touchmove": type="mousemove"; break; + case "touchend": type="mouseup"; break; + default: return; + } + + //initMouseEvent(type, canBubble, cancelable, view, clickCount, + // screenX, screenY, clientX, clientY, ctrlKey, + // altKey, shiftKey, metaKey, button, relatedTarget); + + var simulatedEvent = document.createEvent("MouseEvent"); + simulatedEvent.initMouseEvent(type, true, true, window, 1, + first.screenX, first.screenY, + first.clientX, first.clientY, false, + false, false, false, 0/*left*/, null); + if(touches.length < 2) { + first.target.dispatchEvent(simulatedEvent); + event.preventDefault(); + } +}