移动端点击事件300ms延迟问题--safari浏览器

1、禁用缩放

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>

这一方案在 safari 上并不起作用,而且大大降低了移动端页面的可用性和可访问性。

2、使用指针事件 (IE10+)

a, button{
     -ms-touch-action: manipulation; /* IE10 */
     touch-action: manipulation; /* IE11+ */
}

允许移除特定元素或整个文档的触发延迟,而无需禁用缩放。但就目前而言,只有 Internet Explorer 实现了指针事件。

3、使用fastclick.js

FastClick 是 FT Labs 专门为解决移动端浏览器 300 毫秒点击延迟问题所开发的一个轻量级的库。FastClick 在检测到touchend事件的时候,会通过 DOM 自定义事件立即触发一个模拟click事件,并把浏览器在 300 毫秒之后真正触发的click事件阻止掉。

 第一步:在页面中引入fastclick.js文件   https://as.alipayobjects.com/g/component/fastclick/1.0.6/fastclick.js
 第二步:在js文件中添加以下代码

$(function() {    
    FastClick.attach(document.body);    
});  

深度解读fastclick原理:http://www.cnblogs.com/yexiaochai/p/3442220.html
      
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值