"onwheel"和"onscroll"事件之间有什么区别?

alv*_*zoo 8 javascript browser jquery

当我尝试更改默认滚动条属性时,我发现重写回调函数scroll()onscroll事件不方便,相反,我应该为"onwheel"事件重写一个回调函数.

那么onwheel和之间的区别是onscroll什么呢?我认为onwheel浏览器的默认处理程序会自动触发onscroll移动滚动条的功能,这就是为什么preventDefaultonwheel回调中会阻止滚动条移动的原因.我对吗?谁有更好,更具体的解释?

Nie*_*sol 11

onwheel 特别是当鼠标滚轮旋转时会触发.onscroll触发任何类型的滚动,包括键盘按钮,如箭头键,Home,End,Page Up,Page Down,空格键,Tabbing等.

请注意,这onwheel是非标准的,应该避免,除非您专门针对支持它的浏览器和/或提供一个不会感觉到缺席的额外功能.


Ric*_*ton 5

onwheel:当鼠标滚轮在元素上向上或向下滚动时发生。

onscroll当元素的滚动条滚动时发生。

需要注意的是,在 Internet Explorer 中,滚轮事件仅通过addEventListener. 您不能使用onwheel事件属性。

onwheel 在 Safari 或 IE8 或更早版本中不起作用。