当我有弹出 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 标签之外的任何内容?
尝试将其添加到您的子元素
onmouseover="document.body.style.overflow='hidden';"
onmouseout="document.body.style.overflow='auto';"
它将使主体滚动条消失,直到子元素上的鼠标移出,但否则具有所需的效果。