如何通过单击外部关闭已创建的div?

时间:2020-03-07 23:33:17

标签: javascript html web

我在按下的按钮上创建了一个div,我试图通过在其外部单击来将其删除,但是它将原始按钮按下为在外部单击并立即关闭div。

closediv();

    }

function closediv() {

    document.addEventListener("click", (evt) => {
        const maindiv = document.getElementById('div3');
        let targetElement = evt.target;

        do {
            if (targetElement == maindiv.childNodes[1]) {
                return;
            }

            targetElement = targetElement.parentNode;

        } while (targetElement);

        var viewpost = maindiv.childNodes[1];

        viewpost.parentNode.removeChild(viewpost);
    });


}

2 个答案:

答案 0 :(得分:0)

在按钮单击处理程序中,您可以使用

theButton.addEventListener("click", function(ev) {
  ev.stopPropagation();
  // rest of the code

});

和点击事件https://stackblitz.com/edit/angular-router-basic-example-ljsg5t

答案 1 :(得分:0)


只需在主体上添加click事件以关闭div,然后在用户div中添加prevent default即可阻止用户点击div时的关闭操作

document.body.addEventListener('click', (e) =>{
  //close your div here
 })
document.addEventListener("click", (evt) => {
   evt.preventDefault()
   // your code
}