我有一个弹出窗口,我想在弹出窗口显示后将隐藏的溢出添加到主体中,并且当它隐藏时我要将其更改回滚动。弹出窗口是通过第 3 方插件插入的,我有权访问的唯一 javascript 文件是我的主题文件。我目前已经得到了这个
$( "div" ).click(function() {
if ($('body').css('overflow-y') == "hidden") {
$("body").css("overflow-y", "scroll");
}
});
$("#inline").click(function() {
$("body").css("overflow-y", "hidden");
});
由于插件是最后添加的,所以我刚刚使用全局 div
来隐藏它。如果我只使用第二个函数,它会根据需要将隐藏添加到正文,但如果我包含第一个函数,它会覆盖第二个函数,并且只允许一直滚动。知道我该如何解决这个问题吗?
最佳答案
这是因为您的 id inline
元素嵌套在 div 内。您需要使用 e.stopPropogation();
使用
$( "div" ).click(function() {
if ($('body').css('overflow-y') == "hidden") {
$("body").css("overflow-y", "scroll");
}
});
$("#inline").click(function(e) {
e.stopPropogation();
$("body").css("overflow-y", "hidden");
});
关于javascript - 添加溢出隐藏到主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40414769/