美文网首页
移动端click事件延迟300ms解决方案

移动端click事件延迟300ms解决方案

作者: Allan要做活神仙 | 来源:发表于2017-05-27 19:13 被阅读105次

移动端的浏览器说,为了等你是不是要放大这个页面,我他喵的等了你300ms。

开个玩笑,不过就这么回事儿,移动端单击会有延迟就是因为浏览器在判断你是不是需要放大页面 。但同时也造成了一种页面反馈的迟钝。怎么能忍呢?

说2种,解决方案如下:
1、禁止缩放

<meta name="viewport" content="width=device-width, user-scalable=no">
// 关键是 user-scalable = no

2、FastClick
FastClick是FT Labs专门为解决移动端浏览器 300 毫秒点击延迟问题所开发的一个轻量级的库。简而言之,FastClick 在检测到 touchend 事件的时候,会通过 DOM 自定义事件立即触发一个模拟 click 事件,并把浏览器在 300 毫秒之后真正触发的click事件阻止掉。 FastClick 的使用方法非常简单,在 window load 事件之后,在body上调用FastClick.attach()即可。window.addEventListener( "load", function() { FastClick.attach( document.body );}, false );
attach方法虽可在更具体的元素上调用,直接绑定到body上可以确保整个应用都能受益。当 FastClick 检测到当前页面使用meta设置了user-scalable=no或者 touch-action 属性的解决方案时,会静默退出。可以说,这是真正的跨平台方案出来之前一种很好的变通方案。

就目前而言,FastClick 非常实际地解决 300 毫秒点击延迟的问题,唯一的缺点可能也就是该脚本的文件尺寸 (尽管它只有10kb)

相关文章

  • 请详解移动端点透,为什么会发生点透?描述发生的场景及解决方案

    提到移动端点透问题,就不得不先提到移动端的click事件300ms延迟问题 一、移动端click事件300ms延迟...

  • 移动端

    原生事件 因为click有300ms的延迟(用于判断是否长按),所以不建议在移动端使用click。移动端事件,主要...

  • 移动端兼容性问题解决方案

    1. IOS移动端click事件300ms的延迟响应 移动设备上的web网页是有300ms延迟的,玩玩会造成按钮点...

  • 移动端tap事件的实现

    在移动端click事件会有300ms的延迟,所以不推荐使用 解决此问题,可以使用fastclick.js去掉延迟或...

  • 移动端touch事件代替click事件

    最近有做到移动端的项目(主要是微信端),开发中遇到iPhone手机 click 事件有 300ms 延迟,尝试使用...

  • input输入框键盘弹起延时问题

    一、移动端click点击事件300ms延迟介绍 在正常情况下,如果不进行特殊处理,移动端在触发点击事件时,会有30...

  • 移动端点击穿透问题

    0x1 问题来源 移动端的click事件大约有300ms的延迟,绑定的touch事件触发后可能会继续触发click...

  • 移动端

    一click的300ms的延迟响应 Click事件在移动手机开发中有300ms的延迟,因为在手机早期,浏览器系统有...

  • 移动端事件

    一:理解click的300ms的延迟响应Click事件在移动手机开发中有300ms的延迟,因为在手机早期,浏览器系...

  • 第十四天

    IOS和Android常见兼容问题? 1.IOS移动端click事件300ms的延迟相应移动设备上的web网页是有...

网友评论

      本文标题:移动端click事件延迟300ms解决方案

      本文链接:https://www.haomeiwen.com/subject/ndgqfxtx.html