Difference between revisions of "User:Moussekateer/vector.js"
Moussekateer (talk | contribs) m |
Moussekateer (talk | contribs) m |
||
Line 3: | Line 3: | ||
importScriptURI('https://raw.github.com/Moussekateer/TFWiki-scripts/master/wikifi_toolbox.js', 'text/javascript'); | importScriptURI('https://raw.github.com/Moussekateer/TFWiki-scripts/master/wikifi_toolbox.js', 'text/javascript'); | ||
− | // | + | $.fn.addTouch = function(){ |
− | + | this.each(function(i,el){ | |
− | + | $(el).bind('touchstart touchmove touchend touchcancel',function(){ | |
− | + | //we pass the original event object because the jQuery event | |
+ | //object is normalized to w3c specs and does not provide the TouchList | ||
+ | handleTouch(event); | ||
+ | }); | ||
+ | }); | ||
+ | var handleTouch = function(event) | ||
+ | { | ||
+ | var touches = event.changedTouches, | ||
+ | first = touches[0], | ||
+ | type = ''; | ||
+ | switch(event.type) | ||
+ | { | ||
+ | case 'touchstart': | ||
+ | type = 'mousedown'; | ||
+ | break; | ||
− | + | case 'touchmove': | |
− | + | type = 'mousemove'; | |
+ | event.preventDefault(); | ||
+ | break; | ||
+ | case 'touchend': | ||
+ | type = 'mouseup'; | ||
+ | break; | ||
− | + | default: | |
− | + | return; | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | } | ||
− | |||
+ | 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); | ||
+ | first.target.dispatchEvent(simulatedEvent); | ||
+ | }; | ||
+ | }; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | $('.viewer-3d').addTouch(); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 05:26, 16 June 2013
importScriptURI('https://raw.github.com/Moussekateer/TFWiki-scripts/master/spambot_killer.js', 'text/javascript'); importScriptURI('https://raw.github.com/Moussekateer/TFWiki-scripts/master/wikifi_toolbox.js', 'text/javascript'); $.fn.addTouch = function(){ this.each(function(i,el){ $(el).bind('touchstart touchmove touchend touchcancel',function(){ //we pass the original event object because the jQuery event //object is normalized to w3c specs and does not provide the TouchList handleTouch(event); }); }); var handleTouch = function(event) { var touches = event.changedTouches, first = touches[0], type = ''; switch(event.type) { case 'touchstart': type = 'mousedown'; break; case 'touchmove': type = 'mousemove'; event.preventDefault(); break; case 'touchend': type = 'mouseup'; break; default: return; } 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); first.target.dispatchEvent(simulatedEvent); }; }; $('.viewer-3d').addTouch();