fastclick使用与解密

fastclick使用与解密fastclick可以消除点击延时提高程序的运行效率。FastClick是一个非常方便的库,在移动浏览器上发生介于轻敲及点击之间的指令时,能够让你摆脱300毫秒的延迟。FastClick可以让你的应用程序更加灵敏迅捷。支持各种移动浏览器,比如Safari、Chrome、Opera等。

大家好,又见面了,我是你们的朋友全栈君。

什么是 fastclick

FastClick is a simple, easy-to-use library for eliminating the 300ms delay between a physical tap and the firing of a click event on mobile browsers. The aim is to make your application feel less laggy and more responsive while avoiding any interference with your current logic.

fastclick,消除点击延时提高程序的运行效率。

为什么要使用 fastclick

According to Google:

…mobile browsers will wait approximately 300ms from the time that you tap the button to fire the click event. The reason for this is that the browser is waiting to see if you are actually performing a double tap.

众所周知,移动端在处理点击事件的时候,会有300毫秒的延迟。恰恰是这300毫秒的延迟,会让人有一种卡顿的体验。

这300毫秒的原因,在于早期浏览器的实现中,浏览器不知道用户触摸后,到底想做什么,所以故意等待300毫秒,再触发click事件。

既然我们已经知道了原因了,怎么解决呢?

1、直接去掉延迟

因为浏览器对 click 事件的处理,有 300ms 的延迟,而 touchstart 几乎是立即执行的,估将所有 click 事件的监听,改为 touchstart 事件的监听,即可消除这 300ms 的延迟。

但这样副作用也很大,移动端的交互体验全靠触摸,touchstart 将会干扰其他交互行为的处理,例如滚动、拖拽等。

2、缓和修复

使用 fastclick.

如何使用 fastclick

既然浏览器有这 300ms 的延迟,那么我们来代替浏览器判断,手动触发 click 事件,这也是 fastClick 的解决方案。

1、引入插件的 JavaScript 文件到你的 HTML 网页中:

<script type="application/javascript" src="/js/fastclick.js"></script>

脚本必须加载到实例化 fastclick 在页面的任何元素之前
实例化 fastclick 最好在 body 元素的前面,这是使用推荐的方法

if('addEventListener' in document) {
  document.addEventListener('DOMContentLoaded', function(){ 
   
    FastClick.attach(document.body);
  },false);
}

2、jQuery 中使用

$(function(){ 
   
  FastClick.attach(document.body);
});

3、如果你使用了 browserify CommonJS 的模块系统或另一种风格。

var attachFastClick = require("fastclick");
attachFastClick(document.body);

什么时候不使用它

fastclick 不附加任何监听器在桌面浏览器上面,所以如果你的项目不是针对的移动浏览器,那么就不要使用这个插件。

Android 设备上的 google 浏览器 (Chrome) 32+ 版本,在 meta 头信息中设置 width=device-width 没有 300 毫秒的延时,所以也无需使用本插件。

<meta name="viewport" content="width=device-width,initial-scale=1">

Chrome 浏览器在安卓设备上的时候,设置 meta 头信息中,user-scalable=no 但是这样就无法让用户多点触控缩放网页了。

对于 IE11+ 你可以设置 touch-action:manipulation; 来禁用通过双击放大某些元素例如:链接和按钮的,对于 IE10 使用 -ms-touch-action:manipulation

—————————(正文完)————————————
一个前端的学习交流群,想进来面基的,可以点击这个logoVue学习交流,或者手动search群号:685486827


写在最后:
约定优于配置——-软件开发的简约原则.

——————————–
(完)————————————–

我的:
个人网站: https://neveryu.github.io/neveryu/
Github: https://github.com/Neveryu
新浪微博: https://weibo.com/Neveryu

微信

更多学习资源请关注我的新浪微博….

width=”100%” height=”500″ class=”share_self” scrolling=”no” src=”http://widget.weibo.com/weiboshow/index.php?language=&width=0&height=550&fansRow=1&ptype=1&speed=0&skin=8&isTitle=1&noborder=1&isWeibo=1&isFans=0&uid=5346488237&verifier=d529ff3a&dpc=1″>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150786.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux内存分析工具pmap

    linux内存分析工具pmappmap 工具是 linux 的工具 能够查看进程用了多少内存 还能分析内存用在上面环节 对于一些长期占用内存居高不下的程序可以分析其行为 命令简单 信息简洁

    2025年7月24日
    3
  • Python保留小数的方法

    Python保留小数的方法方法一、使用字符串格式化保留n位小数,并做四舍五入处理s=12.3445print(‘%.2f’%s)#12.34s=12.345print(‘%.2f’%s)#12.35方法二、使用round内置函数(会四舍五入)s=12.345a=round(s,2)print(a)#12.35s=12.3445a=round(s,2)print(a)#12.34方法三、使用decimal模块(四舍五入)fromdecimalimportDec

    2022年8月12日
    2
  • php 动静分离原理,nginx动静分离的好处

    php 动静分离原理,nginx动静分离的好处动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。动静分离的一种做法是将静态资源部署在nginx上,后台项目部署到应用服务器上,根据一定规则静态资源的请求全部请求nginx服务器,达到动静分离的目标。nginx动静分离的好处api接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供api接口即…

    2022年5月27日
    42
  • 怎样开挂的教程_销售常见的八个问题

    怎样开挂的教程_销售常见的八个问题概念篇1、什么是外挂它是怎样定义?外挂是指某些人利用自己的电脑技术专门针对一个或多个网络游戏,通过改变网络游戏软件的部分程序,制作而成的作弊程序。这是一个让游戏公司痛恨、玩家分派、作者成就、工作室必备的游戏辅助软件程序。2、一般外挂分几类?有模拟类、内存类、封包类、变态类、脱机类,一般来讲模拟类是最轻的,比如用按键精灵来代替鼠标和键盘的操作;内存挂、封包挂是比较正规和普遍的

    2025年6月17日
    2
  • LoadRunner教程07:回放测试脚本

    LoadRunner教程07:回放测试脚本1、设置runtimesetting,在vuser->runtimeseting下设置,如下图所示:2、实时观察回放的图像,在tools->generaloptions下设置,如下图所示:3、回放脚本,点击上面的运行按钮,可以回放脚本,有静态和动态运行(会标识出当前运行在哪一行代码)两种方式,在view-animatedrun中设置4、查看resu

    2022年5月10日
    37
  • 国科大英语测试Unit3

    国科大英语测试Unit3TranslationandParaphrasingWithoutthe1968experimentsofKendall,FriedmanandTaylorattheStanfordLinearAcceleratorCenter(SLAC),quarkswouldhaveremainedameretheory,awill-o-wispwhoseexistencewasconfidentlypostulatedbutneverproven

    2022年6月3日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号