如何在鼠标拖动时禁止滚动?

时间:2014-09-24 20:55:30

标签: javascript scroll mouseevent

用户可以通过多种方式滚动浏览器窗口,但有一种方法让我觉得特别令人厌烦并且想要抑制。这是您用鼠标单击然后将鼠标拖动到窗口外的位置,它会沿着拖动鼠标的方向滚动。

这种行为特别令人烦恼,因为我正在处理的页面在mousedown和mousemove上都做了一些事情,所以用户很容易处于这个操作的中间并从页面上滑下来搞砸了什么他们在做。我无法溢出:隐藏,因为我希望用户能够滚动,而不是通过这种特定的方法。

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

我唯一能想到的就是做{overflow:hidden}然后实现自定义滚动条,但自定义滚动条往往很糟糕。我一直在寻找一段时间并尝试不同的事情,但我们没有看到解决方案。请原谅,如果它是一个骗局,我只是没有找到原件。

1 个答案:

答案 0 :(得分:0)

我在这里找到了一个合理的答案:Disabling middle click scrolling with javascript

在某些浏览器上似乎有可能,但您可能只想告诉别人不要这样做。不管怎样,这不是一个非常常见的行动。