【问题标题】:Disable Chrome two fingers back/forward swipe禁用 Chrome 两指向后/向前滑动
【发布时间】:2013-07-02 17:35:51
【问题描述】:

我有一个页面,用户可以在其中水平滚动内容,在 Chrome 中,此滚动操作有时会触发两根手指向后/向前滑动。

如何在不禁用水平滚动的情况下在特定页面中停用此 Chrome 的功能?

【问题讨论】:

标签: google-chrome


【解决方案1】:

只能通过禁用滚动本身来禁用此功能:

使用 jQuery:

('body').on('wheel', function(e){ e.preventDefault(); });

没有 jQuery:

document.body.addEventListener('wheel', function(e){ e.preventDefault(); });

此代码可在现代浏览器中运行,但未经跨浏览器测试。另外,主要警告:如果您仍然希望用户能够滚动页面,则必须滚动您自己的滚动才能使其正常工作。

【讨论】:

    【解决方案2】:

    我发现此 chrome 设置禁用了该行为: chrome://flags/#overscroll-history-navigation

    只需禁用过度滚动,它将禁用使用滚动的页面导航,但页面上的正常水平滚动将起作用。 经过我的测试。

    【讨论】:

    • 这个好像不存在了?
    • 这仍然存在于Edge(基于chrome)
    【解决方案3】:

    过了太久,我发现了这个:

    html, body {
      overscroll-behavior-x: none;
    }
    

    【讨论】:

    • @MattSanders 您可能需要在另一个 DOM 元素上设置它。对我来说,它使用相同的 Chrome 版本。
    • @gerric - 嗯,谢谢。它在body 或其他元素上对您有用吗?
    • 如果这对其他人有帮助,body 和带有overflow 的元素不起作用,但将overscroll-behavior-x 放在html 元素本身对我有用。
    【解决方案4】:

    通过粘贴转到 Chrome 标志 Chrome://flags 在地址栏中搜索 Overscroll history navigation 并更改 这从默认到禁用

    会提示重启浏览器,重启一下。

    这应该可以解决。

    【讨论】:

    • 最后我摆脱了那个讨厌的功能。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2021-01-08
    相关资源
    最近更新 更多