2015-11-27 41 views
-1

例如,我想捕获一个'滚动'事件,然后暂停监听,直到处理程序执行完毕。我一直试图解决这个问题已经几个小时了,但没有成功。有什么办法可以暂停JQuery中的捕捉事件吗?

$('body').bind('wheel', function(e){ 
    e.stopPropagation(); 
    if(e.originalEvent.wheelDelta /120 > 0) { 
     console.log("up"); 
    } 
    else{ 
     console.log("down"); 
    } 
}); 

编辑:添加代码示例。

+1

关于发布示例代码是什么???顺便说一句,如果你写你的问题,你的问题,以及...;) –

+0

我可以发布的代码,它捕捉mousewheel事件,但重点是,如果我有竞争不知道如何暂停捕捉?我尝试过,停止事件传播,但它没有奏效,超时工作也会起作用。 – IdeaMan

+0

发布您的滚动事件绑定。至少你如何将事件绑定到特定的元素 –

回答

0

你可以在body开关类:

$('body').addClass('wheel_disabled'); //removeClass('wheel_disabled'); 

和代表您的活动:

$(document).bind('wheel', 'body:not(.wheel_disabled)', function (e) { 
    if (e.originalEvent.wheelDelta/120 > 0) { 
     console.log("up"); 
    } else { 
     console.log("down"); 
    } 
}); 
相关问题