Javascript 如何抑制鼠标拖动时的滚动?

Javascript 如何抑制鼠标拖动时的滚动?,javascript,scroll,mouseevent,Javascript,Scroll,Mouseevent,用户滚动浏览器窗口的方式有很多种,但我觉得有一种方式特别令人讨厌,我想取消它。这将是您用鼠标单击,然后将鼠标拖动到窗口外,它将沿着鼠标拖动的方向滚动 这种行为特别令人讨厌,因为我正在处理的页面在鼠标和MeMeMeo上都是做事情的,所以用户很容易在这个操作的中间,滑下页面,把他们正在做的事情搞砸。我不能只是溢出:隐藏,因为我确实希望用户能够滚动,而不是通过这个特定的方法 我可以想象很多应用程序都存在这个问题;例如,单击并从中心拖动以缩放现有滚动条的当前内容帧,甚至可能希望通过捕获模式事件支持鼠标离

用户滚动浏览器窗口的方式有很多种,但我觉得有一种方式特别令人讨厌,我想取消它。这将是您用鼠标单击,然后将鼠标拖动到窗口外,它将沿着鼠标拖动的方向滚动

这种行为特别令人讨厌,因为我正在处理的页面在鼠标和MeMeMeo上都是做事情的,所以用户很容易在这个操作的中间,滑下页面,把他们正在做的事情搞砸。我不能只是溢出:隐藏,因为我确实希望用户能够滚动,而不是通过这个特定的方法

我可以想象很多应用程序都存在这个问题;例如,单击并从中心拖动以缩放现有滚动条的当前内容帧,甚至可能希望通过捕获模式事件支持鼠标离开窗口,但这将导致它滚动


我能想到的唯一一件事就是做{overflow:hidden},然后实现自定义滚动条,但自定义滚动条往往很糟糕。我已经四处搜索了一段时间,尝试了不同的方法,但还没有找到解决方法。请原谅,如果这是个骗局,我只是没有找到原件。

我在这里找到了你问题的合理答案:


在某些浏览器上,这似乎是可能的,但您可能只想告诉人们不要这样做。无论如何,这不是一个非常常见的行为。

谢谢你的链接,但我认为这是另一回事。当我在Windows上用鼠标中键点击Chrome时,我会得到一个不同的图标,我会被置于一个不同的模式,然后我再次用鼠标中键点击以摆脱它。我指的不是--它只是一个普通的鼠标左键点击和拖动。如果你缩小这个窗口,在主体部分有滚动条,只需点击并拖出窗口,你就会明白我的意思:。如果像我的例子中那样,我真的想利用mousedown+拖出窗口,那么我当然不能告诉用户避免这个动作=/也许使用body{position:fixed}就是您要寻找的?尝试一下,但是它完全删除了滚动条,所以它只适用于{overflow:hidden}。问题是,我仍然想允许鼠标滚轮滚动,与滚动条、键盘快捷键等交互。这只是一个手势,才是罪魁祸首。看起来我不得不求助于手动实现滚动条。不过,谢谢你的努力!