老师我这边没有显示300ms的延迟 是浏览器更新迭代的原因吗 现在不是300了

老师我这边没有显示300ms的延迟 是浏览器更新迭代的原因吗 现在不是300了

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0, minimum-scale=1,maximum-scale=1, user-scalable=no"
    />
    <title>click 事件 300ms 延迟</title>
    <style>
      .btn {
        width: 100%;
        height: 300px;
        font-size: 100px;
      }
    </style>
  </head>
  <body>
    <button id="btn" class="btn">提交</button>

    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/fastclick/1.0.6/fastclick.min.js"></script> -->
    <script>
      // 1.移动端 click 事件 300ms 延迟的原因
      const btnEL = document.getElementById("btn");
      btnEL.addEventListener(
        "touchstart",
        () => {
          console.time("click");
        },
        false
      );

      btnEL.addEventListener(
        "click",
        () => {
          console.timeEnd("click");
        },
        false
      );

      // 原因:double-tap to zoom 双击缩放

      // 2.解决方案
      // 2.1.不使用 click 事件,把 click 事件中要处理的放到 touchstart 或 touchend 中去处理

      // 2.2.禁止双击缩放(浏览器厂商的努力)
      // https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay

      // 2.2.1.viewport 中禁止缩放
      // 2.2.2.touch-action: manipulation;

      // 2.3.使用 Fastclick 库
      // 主要针对老版本浏览器
      // https://github.com/ftlabs/fastclick
    </script>
  </body>
</html>

https://img1.sycdn.imooc.com//climg/6357562a090793d719200902.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,是因为加了viewport原因,去掉就有延迟了

https://img1.sycdn.imooc.com//climg/63575a170970b62212570168.jpg

https://img1.sycdn.imooc.com//climg/63575a1f09a8699c11720147.jpg


课程中开始演示代码是没有viewport的

https://img1.sycdn.imooc.com//climg/63575ade097d34d308220347.jpg

后面为了解决延迟有加上viewport。

祝学习愉快!

  • 清夏_ 提问者 #1

    老师,这个视口存在的目的是啥,跟程序运行有什么关系吗   加上就没有click点击事件的延迟了,那加上这个视口设置 是不是解决click点击出现300ms延迟的一种解决方法?

    2022-10-25 12:22:14
  • 好帮手慕星星 回复 提问者 清夏_ #2

    是一种解决方式,课程中有说明:

    https://img1.sycdn.imooc.com//climg/63577dd709f1142107800250.jpg

    viewport写完整,将禁止缩放加上就不会有延迟了。


    2022-10-25 14:11:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师