繁体   English   中英

单击页面上任何位置时如何隐藏下拉菜单

How to hide dropdown menu when clicked anywhere on the page

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有这样做的代码。 唯一的问题是我必须单击两次以将其隐藏起来。 您能看一下我的代码并告诉我如何解决它,这样我只需单击一次切换即可打开下拉菜单?

  < script > $(function() { var menuVisible = false; $('#toggle').click(function() { if (menuVisible) { $('#drop-down').css({ 'display': 'none' }); menuVisible = false; return; } $('#drop-down').fadeIn(400).css({ 'display': 'block' }); menuVisible = true; }); $('#drop-down').click(function() { $(this).fadeOut(400).css({ 'display': 'none' }); menuVisible = false; }); }); $(document).click(function(e) { var container = $("#toggle"); if (!container.is(e.target) && container.has(e.target).length === 0) { $("#drop-down").hide(); var menuVisible = false; } }); < /script> 
 <div id="toggle"></div> <div id="drop-down"> <ul> <li>heading 1</li> <li>heading 2</li> </ul> </div> </div> 

1 个回复

您缺少var menuVisible = false; 在底部的情况。 如果您通过单击文档中的其他按钮将其隐藏,则也需要设置变量

这将达到目的: https : //jsfiddle.net/sc3zLzqL/1/

if ($('#drop-down').css("display") != "none") 

不需要变量

1 当单击页面上的任意位置时,下拉菜单隐藏

我搜索了很多有关我的问题的信息,但没有找到任何解决方案。 我知道,我在JavaScript / JQuery中是新手,但是也许有人可以帮助我:)我做了一个不错的下拉列表,它的工作原理,需要的方式,但是有最后一个错误。 当我单击页面上的任何位置时,它都不会隐藏。 有我的JSFiddle ...

2 如何通过单击页面上的任意位置来关闭下拉菜单?

以下是w3schools提供的javascript下拉菜单的简单代码,我想要两个下拉菜单,所以我创建了一个重复的元素和变量名。 这两个下拉菜单都可以正常工作,只是现在我无法通过单击网页上任何可以正常使用下拉菜单的地方来关闭打开的下拉菜单。 因此,当我有两个下拉菜单时,我该如何进行这项工作。 ...

3 点击平板电脑页面上任意位置时如何停止隐藏菜单

我正在使用引导菜单。 悬停时可见。 我使它在平板电脑上可以在水龙头上打开。 现在菜单对于屏幕来说太长了,因此您必须向下滚动才能看到其他菜单项。 但是当您点击页面向下滚动时,菜单消失了... 平板电脑上正在发生类似这样的事情: 如何仅禁用平板电脑上的点击隐藏? 您可 ...

4 单击页面上的其他任何位置时,使下拉菜单返回上一步

我在网站上完成了一些工作,而开发人员并未完成工作,因此我需要一些(可能)基本代码来完成此工作。 基本上,一旦用户单击页面上的其他任何位置,我都需要一个下拉框来返回。 目前,它一直保持下拉状态,直到您再次单击菜单项。 这是我从网站上获取的代码: 任何帮助都会很棒。 谢谢! ...

5 单击页面上的其他任何位置时,3 个可点击的下拉菜单不会关闭

非常感谢您对我最后一个问题的帮助......但我现在有一个小问题,下一步。 作为编码和脚本的新手,我在 W3 上发现了这个按钮,它适合我的目的,所以这就是我使用它的原因,但是......我设法让 3 个不同的按钮进入 3 个不同的部分,然而,问题的关键是点击页面上的其他任何地方时,顶部 2 个按钮 ...

6 单击页面上任何位置时关闭div

我有一个搜索框,可以选择用户并将它们发送到我页面上的div中,这显然会随脚本打开。 但是如果用户在我的网站页面上的任何位置点击div之外,我希望该框关闭。 我玩了几个想法,但没有得到我想要的东西。 HTML 请求功能 ...

7 jQuery,单击其他位置时隐藏下拉菜单

我使用jQuery制作了一个简单的下拉菜单: 它可以正常工作,但是当用户单击屏幕上的其他位置时,我希望菜单消失。 有点像您的标准窗口下拉菜单。 在我的浏览器中单击“文件”将显示下拉菜单,但是单击其他地方(例如页面上的任何地方)将隐藏该菜单。 我将如何实施这样的事情? ...

8 单击页面中的任何位置时如何关闭下拉菜单?

嗨,我正在用angularjs开发SPA。 成功登录用户后,我将在右上角设置一个下拉菜单。 每当我们单击下拉菜单时,就会扩展。 我想在用户单击页面中的任何位置时关闭该下拉列表。 以下是我的生成下拉列表的代码。 我正在努力寻找应该采取哪些措施,以在用户单击页面中的其他位置时关闭 ...

9 如何关闭使用jQuery单击身体上任何位置的下拉菜单[重复]

可能重复: jQuery:下拉菜单在菜单外单击后不会消失 我最近找到了一个与下拉菜单类似的创建Google类似黑色菜单栏的教程 当我们单击“更多”按钮时,将显示下拉菜单,要再次隐藏该下拉菜单,我们应再次单击“更多”按钮 但我想通过单击身体上的任意位置来关闭下拉菜单,有 ...

10 单击下拉菜单外部时隐藏下拉菜单

我在 React 应用程序中实现的下拉菜单有问题。 下拉列表基于这篇文章: https : //blog.campvanilla.com/reactjs-dropdown-menus-b6e06ae3a8fe 打开和关闭下拉菜单可以正常工作,但是当我单击菜单中的按钮时,出现以下错误: 回到博 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM