Element: DOMMouseScroll 事件
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
DOM DOMMouseScroll 事件在鼠标滚轮或类似设备操作、且自上次事件以来累积滚动量超过 1 行或 1 页时异步触发。它由 MouseScrollEvent 接口表示。此事件仅由 Firefox 实现。您应该改用标准的 wheel 事件。
如果您想阻止鼠标滚轮事件的默认操作,仅处理 Gecko 上的此事件是不够的,因为如果原生鼠标滚轮事件的滚动量小于 1 行(或当系统设置为按页面滚动时小于 1 页),则可能会在未触发此事件的情况下触发其他鼠标滚轮事件。
在 Gecko 17(Firefox 17)或更高版本中,您需要调用 wheel 事件的 preventDefault(),该事件必须为每个原生事件触发。
如果可用,请使用标准化的 wheel 事件。
语法
在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。
addEventListener("DOMMouseScroll", (event) => { })
onDOMMouseScroll = (event) => { }
事件类型
一个 WheelEvent。继承自 MouseEvent、UIEvent 和 Event。
事件属性
除了标准事件之外,此事件只有一个额外的属性。
detail
detail 属性更精确地描述了滚动,正值表示向下滚动,负值表示向上滚动。
如果事件表示按页面向上滚动,detail 的值为 -32768。如果事件表示按页面向下滚动,值为 +32768。任何其他值表示要滚动的行数,方向由值的符号表示。
注意: 受信任的事件绝不会以 0 作为 detail 的值发送。
受信任的事件绝不会以 0 触发。
注意: 如果平台的原生鼠标滚轮事件仅提供按像素的滚动距离,或者用户可以自定义滚动速度,则该值是使用事件目标最近的可滚动祖先元素的行高计算的。如果该元素的字体大小小于 mousewheel.min_line_scroll_amount,则使用该首选项的值作为行高。
浏览器兼容性
加载中…
另见
MouseScrollEvent- Gecko 的旧像素滚动事件:
MozMousePixelScroll - 非 Gecko 浏览器的旧鼠标滚轮事件:
mousewheel - 标准化 wheel 事件:
wheel