You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何onscroll事件触发次数远多于onwheel事件?

为什么onscroll比onwheel触发次数多?

这两个事件的触发逻辑本质完全不同:

  • onwheel是监听用户的滚轮输入动作:你轻轻滚动一次滚轮,这是一次完整的用户操作,所以它只会触发1次。只要你没再动手操作滚轮,不管后续页面如何滚动,它都不会再触发。
  • onscroll是监听元素滚动位置的变化:浏览器默认会给滚动添加平滑动画效果——你滚一下滚轮后,页面不是瞬间跳到目标位置,而是会在几十毫秒内逐步完成滚动。在这个动画的每一个渲染帧里,只要滚动位置发生变化,onscroll就会触发一次,因此会出现大量触发事件。

换个直观的说法:你拨一下滚轮是给页面发了一个“滚动指令”,onwheel只负责捕捉这个指令;而onscroll会盯着页面滚动的全过程,每移动一小步就触发一次。

内容的提问来源于stack exchange,提问作者john

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 04:22:35