美文网首页
移动端click事件300ms延迟原因

移动端click事件300ms延迟原因

作者: 我是强强 | 来源:发表于2018-01-05 17:40 被阅读0次

2007年苹果发布首款iphone上IOS系统搭载的safari为了将适用于PC端上大屏幕的网页能比较好的展示在手机端上,使用了双击缩放(double tap to zoom)的方案,比如你在手机上用浏览器打开一个PC上的网页,你可能在看到页面内容虽然可以撑满整个屏幕,但是字体、图片都很小看不清,此时可以快速双击屏幕上的某一部分,你就能看清该部分放大后的内容,再次双击后能回到原始状态。双击缩放是指用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。原因就出在浏览器需要如何判断快速点击上,当用户在屏幕上单击某一个元素时候,例如跳转链接,此处浏览器会先捕获该次单击,但浏览器不能决定用户是单纯要点击链接还是要双击该部分区域进行缩放操作,所以,捕获第一次单击后,浏览器会先Hold一段时间t,如果在t时间区间里用户未进行下一次点击,则浏览器会做单击跳转链接的处理,如果t时间里用户进行了第二次单击操作,则浏览器会禁止跳转,转而进行对该部分区域页面的缩放操作。那么这个时间区间t有多少呢?在IOS safari下,大概为300毫秒。这就是延迟的由来。造成的后果用户纯粹单击页面,页面需要过一段时间才响应,给用户慢体验感觉,对于web开发者来说是,页面js捕获click事件的回调函数处理,需要300ms后才生效,也就间接导致影响其他业务逻辑的处理。

相关文章

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

    提到移动端点透问题,就不得不先提到移动端的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...

  • 移动端click事件300ms延迟原因

    2007年苹果发布首款iphone上IOS系统搭载的safari为了将适用于PC端上大屏幕的网页能比较好的展示在手...

  • 移动端点击穿透问题

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

  • 移动端

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

  • 移动端事件

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

网友评论

      本文标题:移动端click事件300ms延迟原因

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