Catch'鼠标滚轮'具有隐藏溢出的主体上的事件

Catch 'mousewheel' event on a body with hidden overflow

本文关键字:溢出 主体 事件 隐藏 鼠标 Catch      更新时间:2023-09-26

如何通过隐藏溢出来捕获主体上的"mousewheel"事件

我已经试过了,但对我的案子不起作用。

您可以使用jQuery鼠标滚轮插件。

EDIT:这是我的插件中的代码:

var self = this;
var scroll_object;
if (!navigator.userAgent.toLowerCase().match(/(webkit)[ '/](['w.]+)/) &&
    self[0].tagName.toLowerCase() == 'body') {
    scroll_object = $('html');
} else {
    scroll_object = self;
}
...
self = $.extend(self, {
    scroll: function(amount) {
        var pos;
        amount = Math.round(amount);
        if (scroll_object.prop) {
            if (amount > scroll_object.prop('scrollTop') && amount > 0) {
                scroll_object.prop('scrollTop', 0);
            }
            pos = scroll_object.prop('scrollTop');
            scroll_object.scrollTop(pos + amount);
            return self;
        } else {
            if (amount > scroll_object.attr('scrollTop') && amount > 0) {
                scroll_object.attr('scrollTop', 0);
            }
            pos = scroll_object.attr('scrollTop');
            scroll_object.scrollTop(pos + amount);
            return self;
        }
    },
...
self.mousewheel(function(event, delta) {
    if (delta > 0) {
        self.scroll(-40);
    } else {
        self.scroll(40);
    }
    return false;
}, true);