OS X Lion及以上版本允许用户打开/关闭iOS风格的浮动滚动条 - 可以通过“系统偏好设置”手动打开,也可以通过插入鼠标来启用。
基于WebKit的浏览器(也许是Opera?)会立即切换它们的滚动条样式 - 是否会发生这样的事件?(仅限WebKit就可以了)
当用户切换滚动条样式时,OS X会触发NSPreferredScrollerStyleDidChangeNotification
WebKit似乎没有订阅此事件(在点击它时没有点击)。
我怀疑WebKit正在通过NSViewBoundsDidChangeNotification
事件处理这个问题(我认为这会触发滚动视图的内容视图)。
WebKit处理此事件within -[WebHTMLView _frameOrBoundsChanged]
,这似乎是一个潜在的重新布局点。
在WebPDFView
和检查员的WebNodeHighlight
中也有对此通知的引用 - 两者似乎都与此案无关。
-[WebDynamicScrollBarsView adjustForScrollOriginChange]
似乎表明事件可能不会被解雇(如果是这样,很高兴看到一些确认)
轮询更改对我来说不是一个可接受的答案(性能和用户更改值后跳转的布局)。
答案 0 :(得分:0)
从我到目前为止所阅读的所有内容中,在此样式转换期间没有触发DOM事件。
最具决定性的示例是创建overflow: auto
div,然后通过monitorEvents
记录其所有事件(在Safari或Chrome中)。更改滚动条样式时不会记录任何内容。
我对这个问题有一个open webkit bug(虽然它可能很小,但我们不会看到任何动作)。