背景

智能手机开始流行的前期,浏览器可以点击缩放(double tap to zoom)网页。这样在手机上就可以浏览 PC 网页

浏览器为了分辨 click 还是“点击缩放”,就强行把 click 时间延迟 300ms 触发。

初期解决方案

[FastClick](https://www.npmjs.com/package/fastclick) 专门用于解决这个问题。

// FastClick 使用非常简单
window.addEventListener( "load", function() {FastClick.attach( document.body )
}, false )

它的内部原理是

- 监听 `touchend` 事件 (`touchstart` `touchend` 会先于 `click` 事件被触发)

- 通过 [DOM 自定义事件](https://developer.mozilla.org/zh-CN/docs/Web/API/CustomEvent) 模拟一个 click 事件

- 把 300ms 之后触发的 click 事件阻止掉

现代浏览器的改进

- Chrome 32+ on Android

- iOS 9.3

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

有这个属性:width=device-width,浏览器就不会再有 300毫秒的延迟

Ret

移动端 click 300ms 延迟,如何解决相关推荐

  1. fastclick 解决移动端click事件延迟300ms和点击穿透问题

    一.移动端click点击事件300ms延迟介绍 在正常情况下,如果不进行特殊处理,移动端在触发点击事件时,会有300ms的延迟.换句话说,当我们在点击移动端页面后不会立即做出反应,而是会等待300ms ...

  2. 苹果浏览器移动端click事件延迟300ms的原因以及解决办法

    这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题 -- 当时的网站都是为大屏幕设备所设计的.于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点 ...

  3. fastclick 解决移动端click事件300ms延迟

    移动端click 事件延迟300ms 一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟.也就是说,当我们点击页面的时候移动端浏览器并不是立即作出反应, ...

  4. 滑动翻页效果实现和移动端click事件问题

    前述 本文很短~ 主要是为了总结和讲述移动端click和js事件机制导致的一个问题. (:咳咳,其实几句话就能写完的还要水一篇文章,不愧是我- 正文 最近做了一个小活动,里面要用到一个效果:滑动翻页. ...

  5. 移动端300ms延迟解决的几种方法;

    方案一:禁用缩放 当HTML文档头部包含如下meta标签时: <meta name="viewport" content="user-scalable=no&quo ...

  6. 移动端的click事件延迟触发的原理是什么?如何解决这个问题?

    移动端的click事件延迟触发的原理是什么?如何解决这个问题? 原理 :移动端屏幕双击会缩放页面 300ms延迟 会出现点透现象 在列表页面上创建一个弹出层,弹出层有个关闭的按钮,你点了这个按钮关闭弹 ...

  7. 移动端300ms延迟_如何解决移动端300ms延迟的问题

    声明一下:300ms只是行业内部的统称,其实应该在300ms-350ms之间的一个数值. 移动端300ms延迟的前世今生 背景: 2007 年初.苹果公司在发布首款iPhone前夕,遇到一个问题:当时 ...

  8. 移动端click延迟和tap事件

    一.click等事件在移动端的延迟 click事件在移动端和pc端均可以触发,但是在移动端有延迟现象. 1.背景 由于早期移动设备浏览网页时内容较小,为了增强用户体验,苹果公司专门为移动设备设计了双击 ...

  9. vue-cli、脚手架创建、eslint、alias别名配置、proxy代理配置、axios、scoped、穿透、媒体查询、12栅格、动态rem、1px边框、移动端事件、300ms延迟问题(六)

    vue-cli的使用 现在使用前端工程化开发项目是主流的趋势,也就是说,我们需要使用一些工具来搭建vue的开发环境.一般情况下我们都会选择使用webpack进行项目的构建,在这里我们直接使用vue官方 ...

  10. fastclick:处理移动端click事件300毫秒延迟

    fastclick:处理移动端click事件300毫秒延迟 1.兼容性 iOS 3及更高版本的移动Safari iOS 5及更高版本的Chrome Android上的Chrome(ICS) Opera ...

最新文章

  1. IAsyncResult接口
  2. Oracle DML、DDL、DCL的区别
  3. 英语影视台词---六、Saving Private Ryan Quotes
  4. 【Linux】一步一步学Linux系统编程教程汇总(暂时暂停更新......)
  5. HDU 3400 Line belt【三分法】
  6. bzoj 4300 绝世好题 —— 思路
  7. 数学国里有座天才云集的“疯人院”
  8. 如何更改服务器上的数据库文件夹,如何设置数据库文件位置
  9. WordPress 主题教程 #3:开始 Index.php
  10. java怎么释放分配的内存,linux 内存的分配和释放,linux分配释放
  11. 1. Composer 简介
  12. 万能平板刷机软件_一加万能工具包(手机万能刷机工具)
  13. 记录一次win10美化之路
  14. 查看与设置华为路由器的版本信息,名称、时钟、登录提示
  15. 计算机电源再利用usb充电器,变废为宝,笔记本旧电源改造的8口USB充电器
  16. 64位 计算机 最大内存,Windows32位/64位系统最大支持多大内存及不支持的原因
  17. USACO section2.4 Cow Tours题解代码
  18. Tracert与Traceroute[转]
  19. mysql内存参数及最大内存
  20. UDP(用户数据报协议)

热门文章

  1. java-net-php-python-springboot办公自动化系统计算机毕业设计程序
  2. UniApp引入极光推送
  3. 使用nc命令检查Linux系统远程端口是否打开
  4. no suitable HttpMessageConverter found for response type 异常
  5. 鸡蛋不要放在一个篮子里
  6. JavaScript-作用域和作用链
  7. 用java编写斗兽棋
  8. win10无法访问linux共享服务器,Win10无法访问NAS或Linux网络共享的处理方法
  9. 小语种语音情感语料库的建立——论文阅读1
  10. int.prase和int.tryprase