javascript - (添加鼠标滚轮功能)使用 DOMmouseScroll 和鼠标滚轮调用函数

标签 javascript jquery html mouseevent mousewheel

我正在尝试创建一个函数,当鼠标滚轮向不同方向移动时调用其他函数。我不知道如何实现这个

我最初将代码设置为能够处理鼠标滚轮事件,但 Firefox 不支持鼠标滚轮事件。所以我也需要一种方法来使用 DOMmouseScroll。如果有人可以的话,我希望以与我已经设置的方式类似的方式进行设置。

注意:我要求同时使用 DOMmouseScroll 和 mousewheel,所以我建议添加到我的代码中,但如果不能那样做,也没关系...

这是我设置代码的方式:

$( '#container' ).on( 'mousewheel', function ( event ) {

    // crude check to see events are supported
    if ( typeof event.originalEvent.wheelDeltaX === 'undefined'
        || typeof event.originalEvent.wheelDeltaY === 'undefined' ) {
        console.log( "could not find mouse deltas" );
        return;
    }

    var deltaX = event.originalEvent.wheelDeltaX;
    var deltaY = event.originalEvent.wheelDeltaY;

    var scrolledLeft = deltaX < 0;
    var scrolledRight = deltaX > 0;
    var scrolledUp = deltaY < 0;
    var scrolledDown = deltaY > 0;

    if ( scrolledLeft ) { someFunction }
    if ( scrolledRight ) { someOtherFunction }
    if ( scrolledUp ) { anotherFunction }
    if ( scrolledDown ) { andAnotherFunction }
});

最佳答案

我建议使用跨浏览器兼容的 wheel 重新实现它事件代替。 mousescroll 和 DOMmousescroll 已被弃用,以支持现代浏览器中的这个新事件。请阅读该页面上的所有文档以了解详细信息以及跨浏览器兼容的 addWheelListener 函数的示例实现。

关于javascript - (添加鼠标滚轮功能)使用 DOMmouseScroll 和鼠标滚轮调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23204188/

相关文章:

javascript - 尝试从 firebase 获取变量的快照给我一个错误

javascript - 何时不应在 HTML 链接中使用 & 实体(和)?

javascript - CodeMirror - 是否可以滚动到一行使其位于窗口中间?

javascript - 重复图像 - 悬停消失

html - 表内联样式在浏览器中看起来不同

javascript - 搜索句子中的多个字符串

java - 如何在 thymeleaf 中将对象 id 设置为 div id?

javascript - tumblr:如何让我的帖子停在某个边缘?

javascript - 未从文本框获取最新值

jquery - 如果变量 = 数字,则执行 X,否则不执行任何操作