FastClick 消除点击延时提高程序的运行效率

发布于 2018-10-06 12:20:15 字数 3176 浏览 1762 评论 0

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

FastClick 消除点击延时提高程序的运行效率

FastClick 是一个简单,易于使用的JS库用于消除在移动浏览器上触发 Click 事件与一个物理 Tap 之间的 300ms 延迟。

延迟为什么存在?

根据谷歌说法

…在移动浏览器中,当你点击按钮的单击事件时,将会等待大约 300ms 的时间。这是因为,浏览器是等着看,如果你是真正执行双击。

兼容性

FastClick 能够完美的兼容一下浏览器版本:

  • Mobile Safari on iOS 3 and upwards
  • Chrome on iOS 5 and upwards
  • Chrome on Android (ICS)
  • Opera Mobile 11.5 and upwards
  • Android Browser since Android 2
  • PlayBook OS 1 and upwards

什么时候不使用他

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

使用方法

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

<script src="/path/to/fastclick.js"></script>

注意 type 属性在 HTML5 网页中可以省略不写。

脚本必须加载到实例化 Fastclick 在页面的任何元素之前。

实例化 Fastclick 最好在 Body 元素的前面,这是使用推荐的方法:

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

或者你使用了 jQuery 插件,你可以这样编写:

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

如果你使用的 browserify CommonJS 的模块系统或另一种风格,其 fastclick.attach 函数将返回 require('fastclick')。作为一个结果,使用 Fastclick 这些装载机的最简单的方法如下:

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

压缩版本的fastclick

运行 make 建立一个缩小版的 Fastclick 关闭其他 API 使用编译器。缩小的文件保存到 build/fastclick.min.js 或者你可以下载一个预先缩小版

Note: the pre-minified version is built using our build service which exposes the FastClick object through Origami.fastclick and will have the Browserify/CommonJS API (see above).

var attachFastClick = Origami.fastclick;
attachFastClick(document.body);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文