移动端点击延迟事件

1. 移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟

2. 原因: 移动端的双击会缩放导致click判断延迟


解决方式

1. 禁用缩放

`<meta name = "viewport" content="user-scalable=no" > `

缺点: 网页无法缩放

2. 更改默认视口宽度

`<meta name="viewport" content="width=device-width">`

缺点: 需要浏览器的支持

3. css touch-action

touch-action的默为 auto,将其置为 none 即可移除目标元素的 300 毫秒延迟

缺点: 新属性,可能存在浏览器兼容问题

4. tap事件

zepto的tap事件, 利用touchstart和touchend来模拟click事件

缺点: 点击穿透

5. fastclick

原理: 在检测到touchend事件的时候,会通过DOM自定义事件立即出发模拟一个click事件,并把浏览器在300ms之后真正的click事件阻止掉

缺点: 脚本相对较大

使用:

```JS

// 引入

<script type='application/javascript' src='/path/to/fastclick.js'></script>

// 使用了jquery的时候

$(function() {

FastClick.attach(document.body);

});

// 没使用jquery的时候

if ('addEventListener' in document) {

document.addEventListener('DOMContentLoaded', function() {

FastClick.attach(document.body);

}, false);

}

```

在vue中使用

```js

// 安装

npm install fastclick -S

// 引入

import FastClick from 'fastclick'

// 使用

FastClick.attach(document.body);

touchstart: 当在屏幕上按下手指时触发

touchmove: 当在屏幕上移动手指时触发

touchend: 当在屏幕上抬起手指时触发

touchcancel 当一些更高级别的事件发生的时候(如电话接入或者弹出信息)会取消当前的touch操作, 即触发touchcancel。一般会在touchcancel时暂停游戏、存档等操作。

// 用法同普通的click事件

最新文章

  1. 解决svn uuid变更问题
  2. 上个项目的一些反思 I
  3. 免费打造自己的个人网站,免费域名、免费空间、FTP、数据库什么的,一个不能少,没钱,也可以这么任性
  4. android应用锁之监听应用前后台切换方式
  5. Gallery 图片画廊
  6. worker启动executor源码分析-executor.clj
  7. Lua开发环境配置
  8. Autoit 获取运行目录
  9. 作了点有意义 的事,加入CLOUDSTACK官方文档的中文翻译工作
  10. iOS中怎样加入自己定义的字体
  11. MySQL 索引 总结
  12. 【递归】hex2dec
  13. Mac新手必看教程—让你离熟练操作mac只差十分钟
  14. macOS Sierra上面的php开发环境安装
  15. lightoj1038(数学期望dp)
  16. property属性[Python]
  17. 洛谷P3586 [POI2015]LOG(贪心 权值线段树)
  18. vim学习笔记(9):vim显示文件名
  19. gradle 两种更新方法
  20. Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0

热门文章

  1. VS CODE 快捷键
  2. [MicroPython]TurnipBit开发板旋转按钮控制直流电机转速
  3. face recognition[angular/consine-margin-based][L2-Softmax]
  4. 跨平台Redis可视化工具Web Redis Manager
  5. C# zip -ICSharpCode.SharpZipLib
  6. RPC与Zookeeper注册中心的简单实现
  7. 【Java并发.3】对象的共享
  8. JVM参数配置 java内存区域
  9. 升级MySQL5.7,开发不得不注意的坑
  10. 通用权限管理系统多语言开发标准接口 - java,php 调用标准接口程序参考