触屏Tap模拟事件
2015-06-07 19:56
267 查看
触屏的click因为有双击判断所以有200ms的延迟,zepto里的touch.js兼容不好所以tap也没法直接用。
gibhub上有个fastclick太大了。
自己用touched写个简单的模拟tap事件,并在内部加上e.preventDefault();阻止系统默认行为。
gibhub上有个fastclick太大了。
自己用touched写个简单的模拟tap事件,并在内部加上e.preventDefault();阻止系统默认行为。
/* 模拟Tab事件 @obj:元素 @callback:回调函数 */ function Tap(obj, callback){ document.body.addEventListener('touchend',function(e){ if(typeof callback == 'function' && obj==e.target){callback();} //阻止“默认行为” e.preventDefault(); }); }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .box{width: 100px;height: 100px;background: green;margin:5px;} </style> </head> <body> <div class="box" id="box1"></div> <div class="box" id="box2"></div> <script> /* 模拟Tab事件 @obj:元素 @callback:回调函数 */ function Tap(obj, callback){ document.body.addEventListener('touchend',function(e){ if(typeof callback == 'function' && obj==e.target){callback();} //阻止“默认行为” e.preventDefault(); }); } Tap(document.getElementById('box1'),function(){ console.log('tab1'); }); Tap(document.getElementById('box2'),function(){ console.log('tab2'); }); Tap(document.body,function(){ console.log('body'); }); </script> </body> </html>
相关文章推荐
- Java程序员面试失败的5大原因
- java语言的跨平台原理以及环境的搭建
- python cx_Oracle 模块安装记录
- Java程序员面试失败的5大原因
- java中Hashtable浅析
- 一元多项式的表示及相加 数据结构
- Git diff (---和+++具体解释)
- SSH之Struts2篇
- Deep Learning Papers
- Websocket for Tsung
- 应用高级数据结构优化Redis
- Loaders异步加载数据的方式
- 高考四年后的一次演讲
- Head First---命令模式
- Extjs 防止按钮重复点击插件
- Android开发资源获取国内代理(转载)
- zookeeper应用 - FIFO 队列 分布式队列
- python中yield用法
- [STM32/8经验] 形象的告诉你什么是PID算法
- 第十四周项目一--小玩文件之填空