web 移动端click点击延迟解决方案

2020年7月5日 作者 张舫

移动端click事件会有300ms的延时,原因是移动端屏幕双击会缩放(double tap to zoom)页面

解决方案

1.禁用缩放.浏览器禁用默认的双击缩放行为并且渠道300ms的点击延迟

2.利用touch事件自己封装这个事件解决300ms延迟(了解即可)

原理解释

  • 当我们手指触摸屏幕,会记录当前触摸时间
  • 当我们手指离开屏幕,用离开的事件减去触摸的事件
  • .如果事件小于150ms,并且没有滑动屏幕,那么我们就定义为点击

3.使用fastclick.js https://github.com/ftlabs/fastclick

原生js应用

jQuery这样使用