在隐藏溢出的物体上捕捉'mousewheel'事件

时间:2013-08-09 05:53:03

标签: javascript jquery scroll mousewheel

如何通过隐藏溢出来捕捉正文上的“鼠标滚轮”事件?

我已经尝试this,但它对我的情况不起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery mousewheel plugin

编辑:以下是我的插件中的代码:

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);