首页 > 解决方案 > 通过单击覆盖关闭模式会产生大量错误

问题描述

当用户单击模态关闭按钮或覆盖时,模态应该从 DOM 中删除。它可以正常工作,问题是如果覆盖是被单击的覆盖,控制台中会出现错误: 无法读取 null 的属性“删除”

JS是这样的:

_deleteModal(id) {
const deletionElements = [document.querySelector('.close__modal'), overlay];
deletionElements.forEach(el =>
  el.addEventListener('click', function (e) {
    e.preventDefault();
    document.getElementById(id).remove(); 
    overlay.classList.toggle('hidden');
  })
);

HTML 如下所示:

<div class="overlay hidden"></div>
<div class="container">
     // modal is inserted here
</div>

标签: javascriptdommodal-dialogoverlay

解决方案


推荐阅读