Javascript 如何在导航栏外单击以关闭导航栏
我正在尝试创建一个JavaScript函数,当用户点击我的侧边导航菜单的外部时,该函数将使其关闭。下面是获取导航后我试图实现的代码Javascript 如何在导航栏外单击以关闭导航栏,javascript,Javascript,我正在尝试创建一个JavaScript函数,当用户点击我的侧边导航菜单的外部时,该函数将使其关闭。下面是获取导航后我试图实现的代码 var sidenav = document.getElementById("Mynav"); window.onclick = function(event) { if (event.target == sidenav) { sidenav.style.display = "none"; } }; 其他sidenav功能正常。但是我怀疑这个Jav
var sidenav = document.getElementById("Mynav");
window.onclick = function(event) {
if (event.target == sidenav) {
sidenav.style.display = "none";
}
};
其他sidenav功能正常。但是我怀疑这个JavaScript模块(=),不确定它是否应该(!=)。任何帮助都将不胜感激 测试它:
if (event.target !== sidenav)
您希望单击的目标不等于sidenav。JavaScript中与此对应的逻辑运算符很好==代码>。它是为了推广运算符的否定
我不知道javascript有这样的竞争力。你能给我介绍一个能很好地解释JS冒泡的资源吗。无论如何谢谢你的帮助好吧,让我检查一下谷歌,我实际上看到大多数网站都实现了clickoutside元素,用modals来关闭它,所以我创造性地想,我可以把它应用到sidenav上。当你点击一些侧导航的外部时,它们会关闭。很抱歉我的困惑。你的初始代码很好,除了比较逻辑,我一开始读错了。是的,情态动词通常实现你想要实现的行为。当您想要比较两个不相等的值时,javascript比较逻辑不清楚。是吗!或=酷。这太棒了,大多数浏览器上的内置javascript引擎都在使用它,反馈它的方式它禁用了整个功能。Js在我删除窗口onclick和事件函数之前不工作如果用户单击导航栏中的任何内容,这将关闭导航栏,因为目标将是导航栏中的元素,而不是导航栏本身。