在移动端 触屏click事件虽然也会响应,但是总感觉是有延迟,一直听说click事件在手机上有200~300毫秒的延迟问题,亲自测了一下,在pc端模拟手机的话是测不出来的,但是用手机测试时发现延迟非常明显,用我的iphone5执行下段测试代码,平均延迟在370毫秒!结果非常惊人,所以在移动端必须得用tap事件了,click不仅仅是慢的问题,而且会严重影响css3动画!没错,这绝对是真的,我做的单页应用,用click事件执行的,点击后css3切换动画,经常会出现动画被省略掉直接到最后一个keyframe,之前一直怀疑是click有问题,在我用自己封装的tap事件替代click之后,css3动画立即变得无比的流畅,再没出现过掉帧现象。

补充:android手机上click事件没有延迟现象,能够立即触发

tap事件原生是没有的,如果不想封装的话可以用touchend事件代替,当然这样做的话滑动的时候也会可能触发得到,最好还是封装一下,或用iscroll,zepto之类的库,我的另一篇文章也有一个完整的封装tap和swipe手势的组件代码。

传送门:通过html5 touch事件封装手势识别组件

测试代码(注:使用iphone手机来测试ios7~ios9,在android下我的测试机型没遇到这个问题)

var start,end;$(document.body).append($("<a href='javascript:' id='btn_test'>test</a>"));
$("#btn_test").bind("touchend",function(){start=new Date();})$("#btn_test").bind("click",function(){end=new Date();alert(end-start);})

转载于:https://www.cnblogs.com/windyfancy/p/5174276.html

移动端触屏click点击事件延迟问题,以及tap的解决方案相关推荐

  1. 移动端触屏网页的触摸事件

    PC端网页从无到有发展至今,人们习惯了鼠标与键盘的人机交互模式,因此在PC端网页开发中一般使用鼠标事件和键盘事件. mouse事件: onclick事件:在单击鼠标左键或右键时发生. ondouble ...

  2. Vue 之 移动端 better-scroll 下 click 事件失效问题(PC端却正常click点击)

    Vue 之 移动端 better-scroll 下 click 事件失效问题(PC端却正常click点击) 目录 Vue 之 移动端 better-scroll 下 click 事件失效问题(PC端却 ...

  3. Hammer.js移动端触屏框架的使用

    hammer.js是一个多点触摸手势库,能够为网页加入Tap.Double Tap.Swipe.Hold.Pinch.Drag等多点触摸事件,免去自己监听底层touchstart.touchmove. ...

  4. JS 移动端触屏滑动

    首页> 程序开发 > web前端 > JavaScript > 正文 JS案例之5--移动端触屏滑动 2014-08-15     0个评论      收藏  我要投稿 移动端 ...

  5. 移动html触摸效果,JS实现移动端触屏拖拽功能

    2.css 3.js = maxW) { oLeft = maxW; } if(oTop < 0) { oTop = 0; } else if(oTop >= maxH) { oTop = ...

  6. uniapp 真机调试 click点击事件无效

    问题分析: (网络上普遍答案,但不能确定是否是这个原因导致) 移动端的主要问题是click会有200-300ms的延迟,主要原因是苹果手机在设计时,考虑到用户在浏览网页时需要放大,所以,在用户点击的3 ...

  7. html 手机端拖拽效果,JS实现移动端触屏拖拽功能

    1.html 2.css * { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; } #div1 { width: 5 ...

  8. fastclick.js解决移动端(ipad)点击事件反应慢问题

    fastclick.js解决移动端(ipad)点击事件反应慢问题 参考文章: (1)fastclick.js解决移动端(ipad)点击事件反应慢问题 (2)https://www.cnblogs.co ...

  9. knockout click点击事件及事件源解释

    绑定click点击事件示例 <body>you've clicked<span data-bind="text:number"></span>& ...

最新文章

  1. websocket如何区分用户_WebSocket与普通Socket的差异
  2. 正确使用 Android 性能分析工具——TraceView
  3. Selector-背景选择器
  4. simpledateformat 毫秒_阿里巴巴 | 为啥代码中禁用static修饰SimpleDateFormat?
  5. [云炬小程序实战笔记] 第1章 全新版:初识微信小程序
  6. 图卷积神经网络(part6)--GAT
  7. 怎么做95置信区间图_这种动态的OD图怎么做?简单3步快速搞定
  8. 并发计算 VS 并行计算
  9. Oracle DBHelper
  10. Mac AI技术图像编辑软件:Luminar Neo
  11. linux源码安装php,nginx配置php
  12. Spring Boot@Component注解下的类无法@Autowired的问题
  13. Java中系统属性Properties介绍 System.getProperty()参数大全
  14. linux上实现getch()函数
  15. 利用百度图像处理API接口实现人脸融合
  16. 使用Vim/Neovim编辑二进制文件
  17. jetson nano 部署yolov5s
  18. 制作Linux的优盘(usb)启动盘
  19. 电脑端(PC)按键精灵——3.其他命令
  20. JavaWeb项目中出现No converter found for return value of type的解决方法

热门文章

  1. 杂题 NOIP2016蚯蚓
  2. kendo #数据结构 #重心分解
  3. 3proxy 使用指北
  4. 9-7NOIP模拟赛总结
  5. 基于ONOS的T-SDN Super控制器
  6. 光纤通信及周边产品知识汇总
  7. (转载)一种根据纠偏数据对火星坐标进行完美拟合的方法
  8. 使用IIS组建PHP服务器
  9. C#开源磁盘/内存缓存引擎
  10. 自定义Sharepoint的登陆页面(2)