当我有一个弹出的div时,我想禁用主体滚动(比如照片库查看器之类的),但是我不想为子元素禁用滚动。
我现在正在使用这个,它禁用了所有的卷轴:
$('body').bind('mousewheel DOMMouseScroll', function(e) {
var scrollTo = null;
if (e.type == 'mousewheel') {
scrollTo = (e.originalEvent.wheelDelta * -1);
}
else if (e.type == 'DOMMouseScroll') {
scrollTo = 40 * e.originalEvent.detail;
}
if (scrollTo) {
e.preventDefault();
$(this).scrollTop(scrollTo + $(this).scrollTop());
}
});
字符串
所以如果我有一个名为“popup”的元素类,我怎么能接受呢?或者更好的是,我怎么能阻止事件影响body标记以外的任何东西呢?
2条答案
按热度按时间w8biq8rn1#
你可以看一下这一页
How to programmatically disable page scrolling with jQuery
我相信这个人想要同样的行为,我有一种感觉,Y滚动条可能会消失,但也许你可以想出一些东西,或者只是总是显示它
e4eetjau2#
尝试将其添加到子元素中
字符串
它将使主体滚动条消失,直到鼠标在子元素上退出,但在其他情况下具有所需的效果。