【发布时间】:2013-02-02 07:07:54
【问题描述】:
我想为鼠标滚轮事件提供干净漂亮的 JavaScript,只支持最新版本的常见浏览器,没有旧版本的遗留代码,没有任何 JS 框架。
鼠标滚轮事件很好地解释了here。对于当前最新版本的浏览器,如何简化?
我无法访问所有浏览器来测试它,所以caniuse.com 对我有很大帮助。唉,那里没有提到鼠标滚轮。
根据 Derek 的评论,我编写了这个解决方案。对所有浏览器都有效吗?
someObject.addEventListener("onwheel" in document ? "wheel" : "mousewheel", function(e) {
e.wheel = e.deltaY ? -e.deltaY : e.wheelDelta/40;
// custom code
});
【问题讨论】:
-
Chrome 和 IE 支持
MouseWheelEvent,而 Firefox 支持WheelEvent。如需跨浏览器收听,请参阅here。 -
补充到 Derek 的观点。在这些情况下,您应该真正评估浏览器的兼容性。您可以使用 Modernizr (modernizr.com) 做到这一点。它会让你的生活更轻松:)
-
现在,根据 MDN,所有现代桌面浏览器都支持 wheel 事件。
标签: javascript mousewheel