new file: Files/flashplayer_32_sa.exe new file: favicon.ico new file: globe.gif new file: imgs/download.png new file: imgs/zuck.jpg new file: index.html new file: other.ico new file: script.js new file: site.webmanifest new file: sitemap.html new file: styles/backround.css new file: styles/border.css new file: styles/fonts/Titillium_Web/OFL.txt new file: styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf new file: styles/fonts/webfontkit-20221027-163353/generator_config.txt new file: styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2 new file: styles/fonts/webfontkit-20221027-165950/generator_config.txt new file: styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2 new file: styles/style.css new file: tools/2048/.gitignore new file: tools/2048/.jshintrc new file: tools/2048/CONTRIBUTING.md new file: tools/2048/LICENSE.txt new file: tools/2048/README.md new file: tools/2048/Rakefile new file: tools/2048/favicon.ico new file: tools/2048/index.html new file: tools/2048/js/animframe_polyfill.js new file: tools/2048/js/application.js new file: tools/2048/js/bind_polyfill.js new file: tools/2048/js/classlist_polyfill.js new file: tools/2048/js/game_manager.js new file: tools/2048/js/grid.js new file: tools/2048/js/html_actuator.js new file: tools/2048/js/keyboard_input_manager.js new file: tools/2048/js/local_storage_manager.js new file: tools/2048/js/tile.js new file: tools/2048/meta/apple-touch-icon.png new file: tools/webretro/cores/neocd_libretro.js new file: tools/webretro/cores/neocd_libretro.wasm new file: tools/webretro/cores/nestopia_libretro.js new file: tools/webretro/cores/nestopia_libretro.wasm new file: tools/webretro/cores/o2em_libretro.js new file: tools/webretro/cores/o2em_libretro.wasm new file: tools/webretro/cores/opera_libretro.js new file: tools/webretro/cores/opera_libretro.wasm
6 lines
2.8 KiB
JavaScript
6 lines
2.8 KiB
JavaScript
(function(){function addListener(el,type,listener,useCapture){if(el.addEventListener){el.addEventListener(type,listener,useCapture);return{destroy:function(){el.removeEventListener(type,listener,useCapture);}};}else{var handler=function(e){listener.handleEvent(window.event,listener);};el.attachEvent('on'+type,handler);return{destroy:function(){el.detachEvent('on'+type,handler);}};}}
|
|
var isTouch="ontouchstart"in window;this.FastButton=function(element,handler,useCapture){this.events=[];this.touchEvents=[];this.element=element;this.handler=handler;this.useCapture=useCapture;if(isTouch)
|
|
this.events.push(addListener(element,'touchstart',this,this.useCapture));this.events.push(addListener(element,'click',this,this.useCapture));};this.FastButton.prototype.destroy=function(){for(i=this.events.length-1;i>=0;i-=1)
|
|
this.events[i].destroy();this.events=this.touchEvents=this.element=this.handler=this.fastButton=null;};this.FastButton.prototype.handleEvent=function(event){switch(event.type){case 'touchstart':this.onTouchStart(event);break;case 'touchmove':this.onTouchMove(event);break;case 'touchend':this.onClick(event);break;case 'click':this.onClick(event);break;}};this.FastButton.prototype.onTouchStart=function(event){event.stopPropagation?event.stopPropagation():(event.cancelBubble=true);this.touchEvents.push(addListener(this.element,'touchend',this,this.useCapture));this.touchEvents.push(addListener(document.body,'touchmove',this,this.useCapture));this.startX=event.touches[0].clientX;this.startY=event.touches[0].clientY;};this.FastButton.prototype.onTouchMove=function(event){if(Math.abs(event.touches[0].clientX-this.startX)>10||Math.abs(event.touches[0].clientY-this.startY)>10){this.reset();}};this.FastButton.prototype.onClick=function(event){event.stopPropagation?event.stopPropagation():(event.cancelBubble=true);this.reset();var result=this.handler.call(this.element,event);if(event.type=='touchend')
|
|
clickbuster.preventGhostClick(this.startX,this.startY);return result;};this.FastButton.prototype.reset=function(){for(i=this.touchEvents.length-1;i>=0;i-=1)
|
|
this.touchEvents[i].destroy();this.touchEvents=[];};this.clickbuster=function(){};this.clickbuster.preventGhostClick=function(x,y){clickbuster.coordinates.push(x,y);window.setTimeout(clickbuster.pop,2500);};this.clickbuster.pop=function(){clickbuster.coordinates.splice(0,2);};this.clickbuster.onClick=function(event){for(var i=0;i<clickbuster.coordinates.length;i+=2){var x=clickbuster.coordinates[i];var y=clickbuster.coordinates[i+1];if(Math.abs(event.clientX-x)<25&&Math.abs(event.clientY-y)<25){event.stopPropagation?event.stopPropagation():(event.cancelBubble=true);event.preventDefault?event.preventDefault():(event.returnValue=false);}}};if(isTouch){document.addEventListener('click',clickbuster.onClick,true);clickbuster.coordinates=[];}})(this); |