Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使下拉菜单消失_Javascript_Dom - Fatal编程技术网

Javascript 使下拉菜单消失

Javascript 使下拉菜单消失,javascript,dom,Javascript,Dom,我有一个来自W3schools的代码,在这个代码中,我们点击一个按钮后会看到下拉菜单 当我们点击其他地方时,下拉菜单不会消失。 我已经上网了一点,但它似乎令人困惑,因为我是新的js 如果有人能建议我们如何让它消失,那将非常有帮助 在某处添加以下代码: document.getElementById("myBtn").onblur = function() { document.getElementById("myDropdown").classList.remove("show"); };

我有一个来自W3schools的代码,在这个代码中,我们点击一个按钮后会看到下拉菜单

当我们点击其他地方时,下拉菜单不会消失。 我已经上网了一点,但它似乎令人困惑,因为我是新的js

如果有人能建议我们如何让它消失,那将非常有帮助


在某处添加以下代码:

document.getElementById("myBtn").onblur = function() {
  document.getElementById("myDropdown").classList.remove("show");
};
您编写的原始代码仅在单击id myBtn元素本身时才会触发添加或删除该元素上的show类:

document.getElementByIdmyBtn.onclick=函数{ document.getElementByIdmyDropdown.classList.toggleshow; };


但是如果您单击外部,它将不起任何作用,这就是onblur事件的作用。

在某个地方添加以下代码:

document.getElementById("myBtn").onblur = function() {
  document.getElementById("myDropdown").classList.remove("show");
};
您编写的原始代码仅在单击id myBtn元素本身时才会触发添加或删除该元素上的show类:

document.getElementByIdmyBtn.onclick=函数{ document.getElementByIdmyDropdown.classList.toggleshow; };

但是,如果您单击外部,它将不起任何作用,这就是onblur事件的作用。

使用以下命令:

document.getElementByIdmyBtn.onblur=函数{ document.getElementByIdmyDropdown.classList.remove'show' }; 使用以下命令:

document.getElementByIdmyBtn.onblur=函数{ document.getElementByIdmyDropdown.classList.remove'show'
};一般来说,这不起作用,试着按tab键选择下拉按钮,然后单击其他地方,你会看到下拉菜单出现。@MikaëlMayer是的,它有点坏,但它部分解决了问题,给出了切换类和重用相同函数的想法。这通常不起作用,试着点击tab选择下拉按钮,然后点击其他地方,你会看到下拉按钮出现。@MikaëlMayer是的,它有点坏,但它部分地解决了这个问题,给出了切换类和重用相同函数的想法。我们如何使用它来代替按钮?例如,给元素一个id。它的工作方式与div.u的意思相同,只是在上面的情况下更改为?是的,完全正确。诸如input、button、a、div、span等标记实际上只是为内容提供默认CSS,它们的编辑方式也有所不同,但这些只是具有相同事件的节点,可以附加这些事件。试试看。的确,这是个好主意。根据浏览器的不同,在Chrome中,而不是IE中,单击链接默认情况下不会提供焦点。因此,您需要将按钮的HTML修改为:Source:我们如何将其用于代替按钮?例如,为元素提供一个id。它的工作方式与div.u的意思相同,只是在上面的情况下更改为?是的,完全正确。诸如input、button、a、div、span等标记实际上只是为内容提供默认CSS,它们的编辑方式也有所不同,但这些只是具有相同事件的节点,可以附加这些事件。试试看。的确,这是个好主意。根据浏览器的不同,在Chrome中,而不是IE中,单击链接默认情况下不会提供焦点。因此,您需要将按钮的HTML修改为:Source: