如何在 javascript firefox 中获取鼠标滚轮事件

How can I get mouse wheel event in javascript firefox

我正在建立一个网站,我需要获取鼠标滚轮事件。为此,我尝试了以下方法:

//For Chrome
window.addEventListener('mousewheel', func);

// For Firefox
window.addEventListener('DOMMouseScroll', func);

这个仅适用于 chrome。 ↑

mapDiv.onmousewheel = function(e){
    func(e);
}

这个也不适用于 Firefox。 我还尝试了 this 网页上建议的解决方案,但这也导致代码仅适用于 chrome.

那么如何解决这个问题,并使解决方案尽可能兼容现代浏览器?

如果您阅读文档,您会发现 mousewheel 是非标准的,建议使用 wheel 事件。

看这里:https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel

即指https://developer.mozilla.org/en-US/docs/Web/Events/wheel

有时,文档会自动解决问题。

你应该这样使用:

 // standard for all browsers
 window.addEventListener('wheel', func);

这里是与旧版和现代浏览器兼容的实现示例:

https://developer.mozilla.org/en-US/docs/Web/Events/wheel#Listening_to_this_event_across_browser