【发布时间】:2017-03-10 03:52:43
【问题描述】:
当我尝试更改默认滚动条属性时,我发现为scroll()或onscroll事件重写回调函数并不方便,我应该为“onwheel”事件重写一个回调函数。
那么onwheel 和onscroll 到底有什么区别?我想浏览器默认的onwheel处理程序会自动触发onscroll函数来移动滚动条,这就是为什么onwheel的回调中的preventDefault会阻止滚动条移动。我对吗?谁有更好更具体的解释?
【问题讨论】:
-
onwheel?我以前从没见过这个o.O -
MDN about
onwheel: "非标准 此功能是非标准的,不在标准轨道上。请勿在面向 Web 的生产站点上使用它:它不适用于每个用户。实现之间也可能存在很大的不兼容性,并且将来行为可能会发生变化。” -
onwheel 不是标准的,并非所有浏览器都支持它。它不会捕获通过箭头、空格键等滚动。
-
只是 'wheel' 似乎是标准实现。不同之处在于,当使用鼠标或其他输入设备上的滚轮时,滚轮会触发。滚动会在您滚动时触发,无论是使用滚轮还是通过单击滚动箭头或使用滚动手或其他方式。
-
CMIW 看起来 Cerberus 评论不再适用。 html.spec.whatwg.org/multipage/webappapis.html#handler-onwheel
标签: javascript jquery browser