如何在Chrome中禁用平滑滚动

5

我正在创建一个网页应用程序(主要针对Chrome使用),但是在Mac上,Chrome的“平滑滚动”(我猜这就是所谓的“额外”滚动,类似于IOS)会妨碍应用程序的正常运行。

有没有办法通过JavaScript禁用它?

3个回答

2

我通过拦截鼠标滚轮事件并手动移动scrollTop/scrollLeft像素位置,成功解决了一些平滑滚动时出现的渲染问题:

function wheeled(event) {
  event.preventDefault()

  container.scrollTop += event.deltaY
  container.scrollLeft += event.deltaX
}

container.addEventListener('wheel', wheeled, { passive: false, capture: true })
// actual render code is in the `scrolled` handler because
// there are other wheel events in the code that adjust the scroll position
container.addEventListener('scroll', scrolled, { passive: true })

谢谢。这正是我所需要的——我真的在这个问题上苦思冥想。 - user655489

1

-1
使用JavaScript设置HTML和BODY标签的CSS样式。
将它们的“overflow”属性设置为“hidden”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接