javascript - 添加溢出隐藏到主体

标签 javascript jquery

我有一个弹出窗口,我想在弹出窗口显示后将隐藏的溢出添加到主体中,并且当它隐藏时我要将其更改回滚动。弹出窗口是通过第 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/

相关文章:

javascript - 刷新后如何将类添加到页面上选中的单选按钮的父标签

javascript - 使用 jQuery 实时突出显示单词

javascript - ion.rangeSlider : show labels only when dragging/moving handles

javascript - 使用 AJAX 加载 div 中的下拉菜单内容

jquery - 将所有CSS类放入一个数组中并进行计算

javascript - 如何在点击事件中更改 objective-c SS 文件

javascript - 如何等待函数中的获取函数?

javascript 和 html 红绿灯不工作

javascript - 如何获取 div 内标签内的单选按钮?

javascript - API - 隔离索引对象中返回的 JSON 键和值