click事件的延迟
原因:
1. 早期的智能手机刚刚推出的时候 并没有专门的移动web页面
2. 早期的页面基本都是桌面端的页面 缩放到移动端显示
3. 桌面端的页面 会缩放 在手机上面 为了保证显示
4. 为了看的清楚一点 用户可以用手指捏合缩放
5. 苹果公司 为了提升用户体验,推出了 双击缩放
6. 你如果点的位置是一个a标签 或者是一个 有功能的 按钮
7. 为了解决 触发点击事件的问题 就在移动端 做了一个 click的延迟处理 如果两次点击的间隔 300毫秒之内 说明是双击
8. 如果 300毫秒之后 你还没有点 第二次 就认为 我们是想要触发 click事件
9. 目前 我们的移动web页面 基本都是专门的页面 这个时候 如果还是会延迟 300毫秒 用户会感觉 这个页面好卡
10. 为了解决这个问题 当我们设置了 视口属性之后 就认为这个页面是专门的移动页面,click就不会再延迟那么久了
11. 设置了视口属性之后 就不会延迟300毫秒了 大概是 50毫秒左右 这个延迟的程度是可以接受的
12. 早期的解决方案
我们一般会使用touch事件来替代 我们click事件
touch事件主要有 三个
touchstart
touchmove
touchend
touchcancel
解决方案:
使用touch事件即可
新式浏览器设置了视口之后 延迟的时间已经可以忽略不计