此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WheelEvent

基线
广泛可用
*

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

Want more browser support for this feature? Tell us why.

* 此特性的某些部分的支持程度可能有所不同。

WheelEvent 接口表示用户滚动鼠标滚轮或类似的输入设备时触发的事件。

备注:该事件为标准规定的滚轮事件接口。早期的浏览器实现过 MouseWheelEvent 和 MouseScrollEvent 两种滚轮事件接口,但这两种接口皆非标准,加之各浏览器间对其兼容性极差。因而开发者应使用该标准事件接口取代这两个非标准接口。

备注:不要混淆 wheel 事件和 scroll 事件。wheel 事件的默认动作取决于浏览器实现。因此 wheel 事件不一定会触发 scroll 事件。即便 wheel 事件引发了文档内容的滚动行为,也不表示 wheel 事件中的 delta* 值恰好反映文档内容的滚动方向。因此,不要依赖 delta* 属性获知文档内容的滚动方向。而应该在 scroll 事件中监听目标的 scrollLeft 和 scrollTop 的变化以推断滚动方向。

Event UIEvent MouseEvent WheelEvent

构造函数

WheelEvent()

创建一个 WheelEvent 对象。

属性

该接口继承了父接口 MouseEvent、UIEvent 和 Event 的属性。

WheelEvent.deltaX 只读

返回一个 double 值,该值表示滚轮的横向滚动量。

WheelEvent.deltaY 只读

返回一个 double 值,该值表示滚轮的纵向滚动量。

WheelEvent.deltaZ 只读

返回一个 double 值,该值表示滚轮的 z 轴方向上的滚动量。

WheelEvent.deltaMode 只读

返回一个 unsigned long 值,该值表示上述各 delta* 的值的单位。允许的值如下:

常量 值 描述
WheelEvent.DOM_DELTA_PIXEL 0x00 delta* 的单位为像素。
WheelEvent.DOM_DELTA_LINE 0x01 delta* 单位为行。每一次点击鼠标都会滚动一行内容,行高的计算取决于浏览器。
WheelEvent.DOM_DELTA_PAGE 0x02 delta* 单位为页。每一次点击鼠标都会滚动一页内容。
WheelEvent.wheelDelta 只读

返回一个整数(32 位),表示以像素为单位的距离。

WheelEvent.wheelDeltaX 只读

返回一个整数,表示水平滚动量。

WheelEvent.wheelDeltaY 只读

返回一个整数,表示垂直滚动量。

备注:元素:mousewheel 事件有关于已弃用的属性(wheelDelta、wheelDeltaX 和 wheelDeltaY)的额外说明。

方法

该接口本身未定义方法,但继承了父接口 MouseEvent、UIEvent、Event 的方法。

规范

规范
Pointer Events
# interface-wheelevent

浏览器兼容性

参见