Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 捕捉';鼠标滚轮';具有隐藏溢出的实体上的事件_Javascript_Jquery_Scroll_Mousewheel - Fatal编程技术网

Javascript 捕捉';鼠标滚轮';具有隐藏溢出的实体上的事件

Javascript 捕捉';鼠标滚轮';具有隐藏溢出的实体上的事件,javascript,jquery,scroll,mousewheel,Javascript,Jquery,Scroll,Mousewheel,如何在主体上捕获带有隐藏溢出的“鼠标滚轮”事件 我已经试过了,但对我的案子无效。你可以用 编辑:以下是我的插件中的代码: var self = this; var scroll_object; if (!navigator.userAgent.toLowerCase().match(/(webkit)[ \/]([\w.]+)/) && self[0].tagName.toLowerCase() == 'body') { scroll_object = $('h

如何在主体上捕获带有隐藏溢出的“鼠标滚轮”事件

我已经试过了,但对我的案子无效。

你可以用

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

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

我已经在用了。但是它不会对隐藏溢出的实体开火(没有滚动条)@marocalì我在这里使用它(jquery终端),它可以工作。但是在Webkit浏览器中,我滚动html元素而不是body,但是事件附加到body。我发布的代码是附加到
$('body')的插件。插件
所以
这个
在我的代码中成为
$('body')
。在firefox中,滚动对象需要是一个实体。