FastClick插件

来源:互联网 发布:淘宝上的迪奥是真的吗 编辑:程序博客网 时间:2024/06/06 19:14

处理移动端 click 事件 300 毫秒延迟, 由 FT Labs 开发,Github 项目地址:https://github.com/ftlabs/fastclick 。

1.为什么存在延迟?

从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间。为什么这么设计呢? 因为它想看看你是不是要进行双击(double tap)操作。

2.兼容性

  • 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

3.不应用FastClick的场景

  • 桌面浏览器;
  • 如果 viewport meta 标签 中设置了 width=device-width, Android 上的 Chrome 32+ 会禁用 300ms 延时;
    <meta name="viewport" content="width=device-width, initial-scale=1">
  • viewport meta 标签如果设置了 user-scalable=no,Android 上的 Chrome(所有版本)都会禁用 300ms 延迟;
  • IE10 中,可以使用 css 属性 -ms-touch-action: none 禁止元素双击缩放。

4.使用方法

TODO:修改使用接口

window.addEventListener('load', function() {      FastClick.attach(document.body);}, false);

Zepto.js:

$(function() {      FastClick.attach(document.body);});var attachFastClick = require('fastclick');attachFastClick(document.body);

vue-cli项目中:

import fastclick from 'fastclick'fastclick.attach(document.body)
原创粉丝点击