当我有一个弹出式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”的元素类,我怎么能接受呢?或者更好的是,我怎么能阻止事件影响身体标签以外的任何事情?
答案 0 :(得分:0)
您可以查看此页
How to programmatically disable page scrolling with jQuery
我相信这个人想要同样的行为,我感觉Y滚动条可能会消失,但也许你可以为它找出一些东西或者只是总是显示它
答案 1 :(得分:0)
尝试将此添加到您的子元素
onmouseover="document.body.style.overflow='hidden';"
onmouseout="document.body.style.overflow='auto';"
它将使body滚动条消失,直到mouse元素上的mouseout,否则会产生所需的效果。