google-chrome - Chrome - Javascript 阻止默认的 Ctrl + MouseWheel 行为

标签 google-chrome default dom-events mousewheel ctrl

我正在尝试使用 JavaScript 阻止 Chrome 中默认的 Ctrl+MouseWheel 缩放行为,而对于我使用的其他浏览器 preventDefault()stopPropagation() 在鼠标滚轮事件的回调函数中,效果非常好,因为其他浏览器总是触发鼠标滚轮事件,但 Chrome 不会。

阅读问题How to catch Zoom event with GWT and Chrome 我发现 Ctrl + MouseWheel 可以作为调整大小事件捕获,但在缩放页面后,所以我无法阻止此行为。

Chrome 中的 Ctrl+MouseWheel 之前是否创建了其他事件或者是一个错误?

最佳答案

尝试阻止窗口/文档/正文的缩放并不能真正起作用,但是用 div 包裹正文的内容并阻止缩放就可以了。

document.getElementById('root').addEventListener('wheel', event => {
  if (event.ctrlKey) {
    event.preventDefault()
  }
}, true)
#root {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: silver;
}
<div id="root">no zoom allowed</div>

关于google-chrome - Chrome - Javascript 阻止默认的 Ctrl + MouseWheel 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17864249/

相关文章:

java - Chrome 中的 Selenium Java 新选项卡 - 无法打开,始终在同一选项卡中打开 URL

css - Chrome 中的 SVG 过滤器有所不同

javascript - 检查函数参数是否为 JavaScript 中的默认参数

C#类默认方法

javascript - 捕获按钮上所有单击的跨浏览器方式是什么?

javascript - 如何获取 onclick 函数在 JavaScript 中被调用的位置

html - 警告 : <link rel=preload> must have a valid `as` value

java - 在 chrome 中,我的拖放 Java 小程序没有获取放置事件,chrome 在 Mac 上不支持吗?

c++ - 没有成员函数的类实例的默认返回

javascript - 使用 JavaScript 将字母等级 GPA 转换为数字等级