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

jQuery mousewheel事件的原生JavaScript等价实现方法

问题场景

在页面中使用mousewheel / wheel事件实现页面缩放功能时,不同事件绑定方式的表现存在明显差异:

  • 通过jQuery的el.on("mousewheel DOMMouseScroll", functionName)方式绑定处理函数时,运行流畅、功能正常,event.delta的返回值始终稳定一致。
  • 换用原生APIel.addEventListener("wheel", functionName)绑定同一个处理函数时,滚动效果异常:事件触发不稳定,event.deltaY的取值符号随机,与滚轮实际滚动方向无关联。

核心诉求:无需加载整个jQuery库,实现和jQuery鼠标滚轮事件一致的平滑效果,找到对应的等价实现方案。

解决方案

卡顿、方向错乱的问题并非由事件本身导致,根源是取值时选错了事件属性:JavaScript原生滚轮事件的event.wheelDeltaY属性,就是jQuery中event.delta的等价属性,直接使用该属性取值,即可获得和jQuery绑定方式完全一致的稳定效果。

该属性的具体定义可查阅WheelEvent官方文档,感谢@CBroe提供的解答思路。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:15:44