当前位置: 首页 > 工具软件 > fastclick > 使用案例 >

fastClick

常智勇
2023-12-01

最近跟着视频看了一个vuejs+webpack+nodejs的项目(一个音乐播放器),其中用到了fastClick插件,但是并不是很了解,查了一些资料后整理了一下。

fastClick使用于在移动浏览器上发生介于轻敲及点击之间的指令时,能够让你摆脱300毫秒的延迟。FastClick可以让你的应用程序更加灵敏迅捷。支持各种移动浏览器,比如safari,chrome,opera等

...移动浏览器将等待大约300ms从您点击按钮来点击点击事件。这样做的原因是浏览器正在等待您是否正在执行双击。

什么时候不使用他

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 type='application/javascript' 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);

 在vuejs中使用的时候,在mainjs中调用

import fastclick from 'fastclick'
fastclick.attach(document.body)

 

转载于:https://my.oschina.net/u/3653125/blog/1531943

相关阅读

相关文章

相关问答