Element: DOMMouseScroll 事件

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

DOM DOMMouseScroll 事件在鼠标滚轮或类似设备操作、且自上次事件以来累积滚动量超过 1 行或 1 页时异步触发。它由 MouseScrollEvent 接口表示。此事件仅由 Firefox 实现。您应该改用标准的 wheel 事件。

如果您想阻止鼠标滚轮事件的默认操作,仅处理 Gecko 上的此事件是不够的,因为如果原生鼠标滚轮事件的滚动量小于 1 行(或当系统设置为按页面滚动时小于 1 页),则可能会在未触发此事件的情况下触发其他鼠标滚轮事件。

在 Gecko 17(Firefox 17)或更高版本中,您需要调用 wheel 事件的 preventDefault(),该事件必须为每个原生事件触发。

如果可用,请使用标准化的 wheel 事件。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("DOMMouseScroll", (event) => { })

onDOMMouseScroll = (event) => { }

事件类型

一个 WheelEvent。继承自 MouseEventUIEventEvent

Event UIEvent MouseEvent WheelEvent

事件属性

除了标准事件之外,此事件只有一个额外的属性。

detail

detail 属性更精确地描述了滚动,正值表示向下滚动,负值表示向上滚动。

如果事件表示按页面向上滚动,detail 的值为 -32768。如果事件表示按页面向下滚动,值为 +32768。任何其他值表示要滚动的行数,方向由值的符号表示。

注意: 受信任的事件绝不会以 0 作为 detail 的值发送。

受信任的事件绝不会以 0 触发。

注意: 如果平台的原生鼠标滚轮事件仅提供按像素的滚动距离,或者用户可以自定义滚动速度,则该值是使用事件目标最近的可滚动祖先元素的行高计算的。如果该元素的字体大小小于 mousewheel.min_line_scroll_amount,则使用该首选项的值作为行高。

浏览器兼容性

另见

  • MouseScrollEvent
  • Gecko 的旧像素滚动事件:MozMousePixelScroll
  • 非 Gecko 浏览器的旧鼠标滚轮事件:mousewheel
  • 标准化 wheel 事件:wheel