【问题标题】:Disable chrome pinch zoom with javascript使用 javascript 禁用 chrome 缩放缩放
【发布时间】:2017-02-15 09:23:40
【问题描述】:

有没有办法使用 javascript 禁用 chrome 捏缩放。 我不想更改 chrome://flags 中的任何内容 我想禁用 chrome 的默认缩放和滑动到上一页行为,而我想编写自己的平移/缩放代码。 我能够处理所有这些事件,但调用“preventDefault”并没有帮助。 处理鼠标滚轮、ctrl+ 和 ctrl- 事件并在那里调用“preventDefault”也无济于事。

最后,我想为 chrome 和 IE 11 使用 2 根手指自定义多点触控缩放和平移功能。 IE 平移非常适合我,但缩放却不行。

下面的示例脚本:

  <!DOCTYPE html>
    <html>
    <head>
    <title>Test</title>
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />

    <script type="text/javascript" src="Scripts/jquery-3.1.0.js" ></script>

    <script type="text/javascript" >
      document.addEventListener('touchstart', function(event){
          event.preventDefault();
      });
      document.addEventListener('touchend', function(event){
          event.preventDefault();
      });
      document.addEventListener('touchmove', function(event){
          event.preventDefault();
      });
      $('*').bind('touchmove', false);
    </script>

   <body>
   <h1 align="center">
    TEST STRING FOR PINCH ZOOM
    </h1>
    </body>
    </html>

【问题讨论】:

  • 不,它与移动无关。我在 Windows 10 桌面上的 chrome 浏览器中遇到了这个问题(全部在 PC 上)。虽然我指定了您的链接中提到的所有元关键字,但它没有帮助
  • 所以你需要禁用浏览器缩放示例 ctrl +/-?
  • 不,如果您打开任何网站,默认情况下在 GoogleChrome 浏览器上缩放适用于网页的全部内容。我的意思是如果你用两根手指放大触摸屏笔记本电脑。它确实像图像一样缩放。我想处理那部分。阻止默认行为并添加我的自定义缩放逻辑,该逻辑仅适用于我网页的特定部分。

标签: javascript google-chrome touch zooming pinch


【解决方案1】:

这对我有用,以防有人出现在这里寻找答案。

document.addEventListener(
  'wheel',
  function touchHandler(e) {
    if (e.ctrlKey) {
      e.preventDefault();
    }
  },
  { passive: false }
);

【讨论】:

  • 伙计,这就是我 6 个月以来一直在寻找的东西......非常感谢!
猜你喜欢
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
  • 2016-03-01
  • 1970-01-01
  • 2021-12-15
相关资源
最近更新 更多