关于移动端的click时间有延迟的问题(300ms延迟)
来源:互联网 发布:vmware tools mac 10.9 编辑:程序博客网 时间:2024/04/30 12:19
首先这个问题百度google一大堆,这里不详细阐述,只提供一种解决方案。
还是先说一下问题的由来:
问题由来
这要追溯至 2007 年初。苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题。
这当中最出名的,当属双击缩放(double tap to zoom),这也是会有上述 300 毫秒延迟的主要原因。双击缩放,顾名思义,即用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。
那么这和 300 毫秒延迟有什么联系呢?
假定这么一个场景。用户在 iOS Safari 里边点击了一个链接。由于用户可以进行双击缩放或者双击滚动的操作,当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行双击操作。因此,iOS Safari 就等待 300 毫秒,以判断用户是否再次点击了屏幕。
鉴于iPhone的成功,其他移动浏览器都复制了 iPhone Safari 浏览器的多数约定,包括双击缩放,几乎现在所有的移动端浏览器都有这个功能。之前人们刚刚接触移动端的页面,在欣喜的时候往往不会care这个300ms的延时问题,可是如今touch端界面如雨后春笋,用户对体验的要求也更高,这300ms带来的卡顿慢慢变得让人难以接受。
解决方案:
这里提供一个插件 :tap.js
https://github.com/pukhalski/tap
关于这个插件的用法也很简单:
首先是引入:
<script src="bower_components/tap/dist/tap.min.js"></script>
使用:
document.getElementById('any-element').addEventListener('tap', function (e) { // All the magic happens here});
如果配合jquery:
$('#any-element').on('tap', function (e) { // All the magic happens here});
- 关于移动端的click时间有延迟的问题(300ms延迟)
- 手机端解决Click延迟300ms 的问题
- 移动端click事件300ms延迟
- 移动端click事件延迟300ms正解大全
- iphone移动端click事件延迟300ms解决方案
- vuejs 移动端解决click 300ms延迟
- 手机端click事件300ms延迟问题&&zepto.js的点透事件
- 移动Web触控事件总结—click的300ms延迟、点透、鬼点击问题
- 解决移动端点击事件延迟300ms的问题
- 移动端click延迟
- 移动端300ms的点击延迟以及解决方案
- 移动端点击穿透和click事件300ms延迟问题
- 移动端click事件延迟300ms到底是怎么回事,该如何解决?
- 移动端点击(click)事件延迟问题的产生与解决方法
- Jquery 解决移动端onclick事件300ms延迟问题
- 移动端300ms点击延迟和点击穿透问题
- Jquery 解决移动端onclick事件300ms延迟问题
- 移动H5页面开发时候,iPhone苹果iOS点击click、touch会有300ms延迟,如何解决?
- mac+mysql+nginx+passsenger+ruby on rails+redmine+postfix配置
- 丁香园CEO公开信曝光,称冯大辉部分言行严重违背事实真相
- HDU4927-Series 1-组合数学加java大数
- [CCNA笔记_3]交换机
- Jsp 和 EL 表达式
- 关于移动端的click时间有延迟的问题(300ms延迟)
- python_使用email模块发送简单邮件
- 九大排序算法总结
- [转]Linux下的Makefile
- ns3--HOWTO understand and find cause of terminated with signal errors
- java反射机制----初步入门
- 保护的详尽意义:通过调用门转移特权级
- fopen is unsafe 错误
- 第九章 Service不可不知的事