处理移动端click事件 300 毫秒延迟, 由FT Labs开发,Github 项目地址:https://github.com/ftlabs/fastclick。从点击屏幕上的元素到触发元素的click事件,移动浏览器会有大约 300 毫秒的等待时间。为什么这么设计呢? 因为它想看看你是不是要进行双击(double tap)操作。兼容性
Mobile Safari on iOS 3 and upwardsChrome on iOS 5 and upwardsChrome on Android (ICS)Opera Mobile 11.5 and upwardsAndroid Browser since Android 2PlayBook OS 1 and upwards不应用 FastClick 的场景
桌面浏览器;如果viewport meta 标签中设置了width=device-width, Android 上的 Chrome 32+ 会禁用 300ms 延时;Copyviewport meta 标签如果设置了user-scalable=no,Android 上的 Chrome(所有版本)都会禁用 300ms 延迟。IE10 中,可以使用 css 属性-ms-touch-action: none禁止元素双击缩放(参考文章)。
引入插件步骤
①在HTML页面中添加注:必须在页面所有Element之前加载脚本文件先实例化fastclick②在JS中添加fastclick的身体,推荐以下做法: if('addEventListener’indocument) { document.addEventListener(‘DOMContentLoaded’,function() { FastClick.attach(document.body); },false);}如果你使用了JQuery,那么JS引入就可以改用下面的写法:$(function() { FastClick.attach(document.body);});如果你使用Browserify或者其他CommonJS-style 系统,当你调用require('fastclick')
时,FastClick.attach
事件会被返回,加载FastClick最简单的方式就是下面的方法了:varattachFastClick = require(‘fastclick’);attachFastClick(document.body);
作者:还好e
链接:https://www.jianshu.com/p/fdb510544d98
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。