javascript - 鼠标滚轮事件检测当前在 Firefox 中不起作用

标签 javascript jquery mousewheel

出于某种原因,我在尝试识别 Firefox 中的鼠标滚轮事件时遇到了问题。这适用于 IE、Chrome、Safari、Opera,但不适用于 FF。我在 DOMMouseScroll 上附加了一个事件监听器,它应该在 FF 中被识别。

Fiddle demo

$(document).unbind('mousewheel DOMMouseScroll').on('mousewheel DOMMouseScroll', function(e) {
    var evt = event || e || window.event;
    var delta = evt.detail < 0 || evt.wheelDelta > 0 ? 1 : -1;

    if (delta < 0) {
        // scroll down
    } else {
        // scroll up
    }
});

最佳答案

您的代码在控制台中生成错误。线路:

var evt = event || e || window.event;

不正确;范围内没有“事件”变量。您可以直接使用“e”。 jQuery 代码将确保您的处理程序将事件参数作为参数获取。或者:

$(document).unbind('mousewheel DOMMouseScroll').on('mousewheel DOMMouseScroll', function(evt) {
    var delta = evt.detail < 0 || evt.wheelDelta > 0 ? 1 : -1;

    if (delta < 0) {
        // scroll down
    } else {
        // scroll up
    }
});

关于javascript - 鼠标滚轮事件检测当前在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10940896/

相关文章:

jquery - 我的响应式幻灯片只显示第一张图片

javascript - DRAG 和 DROP 时两个不同容器的 Jquery UI 可排序顺序

c++ - 鼠标滚轮的 Irrlicht 事件

javascript - 如何将物联网数据发送到Oracle Iot云服务?

javascript - 事件发生后阻止特定功能

javascript - Ace Editor - 在编辑器中添加超链接

javascript - 表格在悬停时填充 div

scroll - 在 Vim 中使用鼠标滚轮

javascript - 无法获取滚轮事件的鼠标坐标

javascript - 未捕获错误 : When the modifier option is true, 验证对象必须至少有一个运算符