window.onclick函数如果target包含特定类,则不删除类

时间:2018-01-16 22:29:41

标签: javascript modal-dialog

我有一个模态函数设置,它基本上添加了一个类,并在单击模态触发按钮时显示。我还有一个关闭按钮,隐藏模态并删除类,但我也希望在窗口事件上执行此操作。

这是我到目前为止所做的,但似乎没有起作用..

window.onclick = (e) => {
    if (e.target.classList.contains === 'modal--active') {
        e.classList.remove('modal--active');
    }
}

所以基本上如果模态包含一个模态 - 活动类,则在浏览器窗口中的任何位置单击时删除该类。

P.s我尝试将严格等于'==='删除为'='但没有运气。

任何帮助都会非常棒!谢谢!

1 个答案:

答案 0 :(得分:1)

将其更改为e.target.classList.contains('modal--active')contains它是一个函数,而不是DOM节点的属性。

完整代码:

window.onclick = (e) => {
    if (e.target.classList.contains('modal--active')) {
        e.target.classList.remove('modal--active');
    }
}