1

我想捕捉onMouseWheel整个页面的事件(对于我正在进行自定义滚动的上下文),但也需要停止页面上处理它的所有其他内容。怎么可能做到这一点?

提前致谢。

4

2 回答 2

2

你应该打电话

event.preventDefault();

处理完事件后。

像这样:

window.addEventListener("onMouseWheel", function(event) {
    // process the event for custom scrolling

    event.preventDefault();
    event.stopPropagation();
}, true);
于 2012-12-29T15:31:31.233 回答
0

您可以像这样在 jquery 中执行此操作:

$(function(){
    $('*:not(body)').on('mousewheel',function(e){
        e.preventDefault();
        e.stopPropagation();
    });
});

使用纯 javascript 的替代解决方案:

var ele = document.querySelectorAll('*:not(body)');
ele.forEach(function(i){
    ele[i].addEventListener('mousewheel',function(e){
        e.preventDefault();
        e.stopPropagation();
    },false);
});
于 2012-12-29T15:35:41.900 回答