2012-05-12 53 views
2

我想重现我在Google Docs中看到的功能。Javascript滚动条处理窗口焦点

谷歌Docs滚动条带有自定义外观,显然不是原生的,但如果我在手柄上打开鼠标,将鼠标移出窗口并上下拖动鼠标,滚动条就会相应地工作。

我试着看压缩的代码,但我还没有找到解决方案。 我已经创建了一个自定义的滚动条,并在句柄上添加了一个事件侦听器到mousemove上的主体上的mousedown事件。 但是,我显然无法检测到鼠标离开窗口,滚动条的可用性因此而变得非常蹩脚。

他们如何设法追踪鼠标移动,甚至在窗外? 有没有更好的crossbrowser,我错过了聪明的方式?

在此先感谢

+0

这实际上是我有史以来第一个问题,因为我也很想知道这个 - 它确实会帮助我所有的拖放界面。 –

+0

收藏也是一个非常有趣的问题。 –

回答

1

所有他们正在使用的CSS样式的内置有一个div的滚动功能做溢出-Y设置为滚动。

只需在Chrome或Firefox上使用您的开发人员工具即可查看此内容。

Custom CSS Scrollbar for Firefox信息造型的滚动条

+0

谢谢你的链接,我不认为这可能是“唯一的”CSS 这是一个遗憾,它不是只有浏览器和webkit! – framp

0

,你可以自定义事件onmousedown事件和onmouseup,当你专注窗外,它仍然发生。

+1

但不幸的是,我无法像使用原生滚动条一样跟踪鼠标位置。 实际效果是,如果您碰巧在窗户外面拖动手柄,会导致严重的停顿。 – framp