问答题928/1593移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?

难度:
2021-11-17 创建

参考答案:

移动端点击有 300ms 的延迟是因为移动端会有双击缩放的这个操作,因此浏览器在 click 之后要等待 300ms,看用户有没有下一次点击,来判断这次操作是不是双击。

有三种办法来解决这个问题:

  • 通过 meta 标签禁用网页的缩放。
  • 通过 meta 标签将网页的 viewport 设置为 ideal viewport。
  • 调用一些 js 库,比如 FastClick

click 延时问题还可能引起点击穿透的问题,就是如果我们在一个元素上注册了 touchStart 的监听事件,这个事件会将这个元素隐藏掉,我们发现当这个元素隐藏后,触发了这个元素下的一个元素的点击事件,这就是点击穿透。

最近更新时间:2024-07-20

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!