切换脚本问题如何在纯JavaScript中修复此问题?没有jQuery
我制作了这个脚本,我设计的方式是,当你点击div之外的任何地方,div应该消失,但我注意到,当你点击div时,它自己也消失了。如何防止这种情况发生?我只想通过单击div外侧的任何位置使div消失来实现这一点 而不是单击div使其消失。所以我正试图阻止这种情况。我该怎么做?我仍然希望按钮上的切换效果切换脚本问题如何在纯JavaScript中修复此问题?没有jQuery,javascript,Javascript,我制作了这个脚本,我设计的方式是,当你点击div之外的任何地方,div应该消失,但我注意到,当你点击div时,它自己也消失了。如何防止这种情况发生?我只想通过单击div外侧的任何位置使div消失来实现这一点 而不是单击div使其消失。所以我正试图阻止这种情况。我该怎么做?我仍然希望按钮上的切换效果 document.addEventListener('DOMContentLoaded',function(){ var bx=document.getElementsByTagName('butt
document.addEventListener('DOMContentLoaded',function(){
var bx=document.getElementsByTagName('button')[0];
bx.addEventListener('click',fx);
函数fx(){
document.getElementById(“myDropdown”).classList.toggle(“show”);
}
window.onclick=函数(事件){
如果(!event.target.matches('.dropbtn')){
var dropdowns=document.getElementsByClassName(“下拉内容”);
var i;
对于(i=0;i
。下拉式内容{
显示:无;
}
.表演{
显示:块;
}
下拉列表
你好
您的窗口。onclick
处理程序仅检查您是否单击了按钮,而不是在
窗口内。在您的状况中包括
检查:
if (!event.target.matches('.dropbtn') && !event.target.closest('.dropdown-content')) {
如果元素不匹配并且不是与其参数匹配的元素的后代,则返回null
。非常感谢,现在它可以正常工作了。我希望它可以正常工作:)