通过使用纯javascript单击外部来关闭

通过使用纯javascript单击外部来关闭,javascript,html,css,Javascript,Html,Css,我想在菜单按钮区域外单击时关闭菜单(删除打开时添加的类) 我已经把它全部工作好了,但是我想知道我放在一起的代码是否正确,因为我认为只有当.newClass被添加到div中时才应该触发单击外部。如果是这样,我该如何添加它?我对javascript很陌生 var b=document.getElementById(“菜单”); 文件。添加事件列表器(“鼠标”,函数(事件){ var clickOnMenu=b.contains(event.target); 如果(单击菜单){ b、 切换(“新类”

我想在菜单按钮区域外单击时关闭菜单(删除打开时添加的类)

我已经把它全部工作好了,但是我想知道我放在一起的代码是否正确,因为我认为只有当.newClass被添加到div中时才应该触发单击外部。如果是这样,我该如何添加它?我对javascript很陌生

var b=document.getElementById(“菜单”);
文件。添加事件列表器(“鼠标”,函数(事件){
var clickOnMenu=b.contains(event.target);
如果(单击菜单){
b、 切换(“新类”);
}否则{
b、 类列表。删除(“新类”);
}
});
div.box{
保证金:自动;
填充:1em;
最大宽度:6em;
背景:rgba(0,0,0,0.6);
文本对齐:居中;
颜色:白色;
转换:.2s易进易出;
光标:指针;
}
分区框:悬停{
背景:rgba(0,0,0,0.7);
}
新班级{
填充底部:100px;
}
菜单
希望这对您有所帮助

var b=document.getElementById(“菜单”);
文件。添加事件列表器(“鼠标”,函数(事件){
var x=event.target.id;
如果(x==“菜单”){
b、 添加(“新类”);
}否则{
b、 类列表。删除(“新类”);
}
});
div.box{
保证金:自动;
填充:1em;
最大宽度:6em;
背景:rgba(0,0,0,0.6);
文本对齐:居中;
颜色:白色;
转换:.2s易进易出;
光标:指针;
}
分区框:悬停{
背景:rgba(0,0,0,0.7);
}
新班级{
填充底部:100px;
}

菜单
谢谢,但每次单击外部时是否都会触发单击外部?我以为只有当class.newClass添加到div中时才会触发它?!是,向事件侦听器添加一个
console.log()
,以进行检查。您可以在
文档
@MathiasN上定义事件