javascript - 如何使用 react 或 javascript 检查该类是否已添加到 div 元素?

标签 javascript reactjs

如果用户单击列表菜单外的任何位置,我想关闭列表菜单。这意味着当单击文档上除列表以外的任何地方时,列表菜单应该关闭。

为此,我定义了如下方法( react ),

handle_click = (event) => {
    if (this.list_menu_ref.current.contains(event.target)) {
        return;
    }
    this.props.on_close(); //this method handles closing the list menu
};

这很好用。现在,当它处于事件状态并且列表菜单打开时,有时我会有一个叠加层,而且当用户单击文档上的任意位置时,我不希望在这种情况下关闭列表菜单。

从 domnode 我们可以识别这个叠加层,类 active 是可见的,如下所示,

<div id="overlay_root" class="active>
    //some content
</div>

因此,每当这个事件类被添加到 ID 为“overlay_root”的 div 并且用户单击文档时,我不希望列表菜单关闭。

我该怎么做?有人可以帮我吗?

谢谢

最佳答案

How to check if the class is added to div element using react or javascript?

这是一种检查元素是否包含类并将其删除的方法

if ( document.getElementById("overlay_root").classList.contains('active') ){
  document.getElementById("overlay_root").classList.remove('active');
}

关于javascript - 如何使用 react 或 javascript 检查该类是否已添加到 div 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59543872/

相关文章:

reactjs - react 条件样式无法正确渲染

javascript - 如何从不同的 create-react-app 项目本地导入 React 组件?

javascript - 如何使 facebook 评论框宽度为 100%?

javascript - 导入函数的性能问题

reactjs - 何时使用React Hooks

javascript - 使用 Hooks 与 React Native 一起返回时刷新屏幕 A

javascript - Material UI 下拉(选择)元素未在动态形式的 onChange 中更新

javascript - 从 Promise 获取数据

javascript - Next JS - 如何在构造函数中将随机数设置为 id

javascript - 基于对象字段值 Angular 6 的颜色 td