移动端300ms点击延迟原因以及解决办法

博客介绍了移动端300ms点击延迟的原因,并给出三种解决方式。一是禁用缩放,但网页无法缩放;二是更改默认视口宽度,需浏览器支持;三是依赖fastclick,检测到touchend事件时模拟click事件并阻止300ms后的真实click事件,还提及在vue中使用。

移动端300ms点击延迟原因

https://www.jianshu.com/p/6e2b68a93c88
https://www.jianshu.com/p/67bae6dfca90

解决方式

1. 禁用缩放

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

缺点:网页无法缩放

2. 更改默认视口宽度

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

缺点: 需要浏览器的支持

3. 依赖fastclick

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

vue中使用

// 安装
npm install fastclick -S
// 引入
import FastClick from 'fastclick'
// 使用
if ('addEventListener' in document) {
    document.addEventListener('DOMContentLoaded', function() {
        FastClick.attach(document.body);
    }, false);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值