首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

单击一个下拉菜单并关闭所有其他下拉菜单(vanilla javascript)

在前端开发中,单击一个下拉菜单并关闭所有其他下拉菜单是一个常见的交互需求。下面是一个使用纯JavaScript实现的示例代码:

代码语言:txt
复制
// 获取所有下拉菜单的元素
var dropdowns = document.getElementsByClassName('dropdown');

// 给每个下拉菜单添加点击事件监听器
for (var i = 0; i < dropdowns.length; i++) {
  dropdowns[i].addEventListener('click', function() {
    // 判断当前下拉菜单是否已经打开
    var isOpen = this.classList.contains('open');

    // 关闭所有其他下拉菜单
    for (var j = 0; j < dropdowns.length; j++) {
      dropdowns[j].classList.remove('open');
    }

    // 如果当前下拉菜单未打开,则打开它
    if (!isOpen) {
      this.classList.add('open');
    }
  });
}

上述代码首先通过document.getElementsByClassName方法获取到所有下拉菜单的元素,并使用for循环为每个下拉菜单添加点击事件监听器。当点击某个下拉菜单时,代码会先判断该下拉菜单是否已经打开(通过判断是否包含open类),然后关闭所有其他下拉菜单(通过移除open类),最后如果该下拉菜单未打开,则将其打开(通过添加open类)。

这段代码使用了纯JavaScript,没有依赖任何框架或库,因此可以称为"vanilla javascript"。它适用于任何支持JavaScript的浏览器环境。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供弹性计算能力,满足各类业务需求。产品介绍链接
  • 腾讯云云函数(SCF):无服务器计算服务,帮助开发者更轻松地构建和管理应用程序。产品介绍链接
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):稳定可靠的云数据库服务,支持高可用、弹性扩展等特性。产品介绍链接
  • 腾讯云对象存储(COS):安全可靠的云端存储服务,适用于图片、音视频、文档等各类数据的存储和管理。产品介绍链接
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,帮助连接和管理物联设备。产品介绍链接
  • 腾讯云区块链服务(Tencent Blockchain):提供稳定高效的区块链基础设施,支持快速搭建和管理区块链网络。产品介绍链接
  • 腾讯云视频处理(VOD):提供强大的视频处理能力,包括转码、截图、水印、封面生成等功能。产品介绍链接
  • 腾讯云音视频通信(TRTC):提供高质量、低延迟的音视频通信服务,适用于在线教育、视频会议等场景。产品介绍链接
  • 腾讯云云原生应用引擎(Tencent Serverless Framework):帮助开发者构建和部署云原生应用,提供丰富的组件和工具。产品介绍链接
  • 腾讯云网络安全(Security):提供全面的网络安全解决方案,包括DDoS防护、Web应用防火墙等。产品介绍链接

以上是腾讯云提供的一些与云计算相关的产品,它们可以满足不同场景下的需求。请注意,这仅是一些建议,并非唯一选择,其他云计算服务商也提供类似的产品和解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS 下拉菜单与 focus

在移动端上稍微有些不同,毕竟所有控制——无论单击、长按抑或划动——都由接触开始,也没有鼠标的「悬停」逻辑,为了方便判定,移动端上若想激活 :hover 也是单击(触摸)。...导航栏之所以不直接显示而是放进下拉菜单,也是为了在移动端等小尺寸设备中显示得优雅一点,因此这个单击判定其实是优势。...先说决定如何被聚焦,这里分为负值(一般是 -1)与非负值,若为负值则该元素 不可以被键盘 Tab 聚焦、但可以被 JavaScript 或者鼠标单击聚焦,一般希望被 JavaScript 接管的设为此值...,以降低其他操作干扰。...再说决定聚焦顺序,非负值也分为两部分,0 与正值,若为 0 则该元素可以被键盘 Tab 聚焦或 JavaScript、点击聚焦且按照默认顺序聚焦;若为正值则按照数值从小到大的顺序聚焦且 优先于所有 tabindex

5.5K20

前端jQuery炫酷效果

"> // 写出对应功能代码 $(function(){ // 发送按钮单击:1....获取用户输入的数据 -- value属性值访问 2、看下拉菜单的选项 如果是a -- 获取下拉菜单的vlaue == 0,把用户的数据按照a的模板展示;如果是b --获取下拉菜单的vlaue == 1,...由于此处代码实现过于复杂,css和js功能实现代码量较多,公众号文章字数有所限制,所以此处将两个重要的功能实现即可,有了这两个例子,其他的都可以做出来了,至于网页的美化这些到是简单许多。...同意协议都要做验证,当所有验证通过写submit提交 // 用户名:blur事件里面验证:获取用户输入的数据;列正则 ; if正则test用户输入的数据:合法true 不合法false --...} } // 验证注册 // 考虑的人:页面一刷新,没有执行失去焦点,正则没有生效 -- 不能注册不能提交 // 方法: 页面定义开关,默认不能提交,让开关关闭表示不能提交

3.9K30
  • Selenium Python使用技巧(二)

    driver.close()关闭当前选项卡,driver.quit()将关闭(浏览器的)所有选项卡,退出驱动程序。...如果需要保持浏览器窗口打开(退出所有其他选项卡),则可以使用switch_to.window()方法,该方法的输入参数为window handle-id。 注:还有其他方法可以解决此问题。...在下面的示例中,我们打开一个包含测试URL的新窗口,然后关闭其他窗口。我们仅使用window_handles来达到要求。...#driver.close() 处理下拉菜单一个需求,必须从网页上的下拉菜单中选择一个特定的选项。...目的是使用find_elements_by_css_selector()在https://***.com/上找到“登录”按钮执行单击操作。与登录相关的代码如下。代码检查工具快照还提供了所需的信息。

    6.4K30

    如何关闭 YouTube 上的受限模式

    如何在手机(Android 和 iPhone)上关闭 YouTube 的受限模式打开访问手机上的 YouTube 应用。然后登录您的帐户。单击应用程序右上角的用户配置文件选项,访问用户设置菜单。...查看 YouTube 屏幕的左角,然后单击“设置”按钮。进入设置菜单后,点击常规选项。最后,您将找到一个用于打开/关闭受限模式的切换选项。蓝色开关表示受限模式已打开,灰色按钮表示受限模式已关闭。...访问手机的网络浏览器输入访问 youtube.com。然后登录您的帐户。选择您的用户个人资料,然后打开浏览器右上角的 YouTube 设置菜单。选择“设置”打开“帐户设置”下拉菜单。...点击下拉菜单选择受限模式。弹出一个框后,查看底部关闭“受限模式”。一旦关闭,蓝色开关将变为灰色。您在带有过滤器的桌面或网络上关闭 YouTube 的受限模式时可能会遇到问题。...虽然 YouTube 是一个提供无限教程、食谱和 DIY 的首选平台,但它还拥有适合所有年龄段的值得狂欢的娱乐库。

    5.1K20

    PDF TO XSS构造实践

    有时候我们在做渗透测试的时候会发现目标网站允许上传PDF文件,同时支持在线预览PDF文件,然而不少类似的网站都会直接通过调用系统IE浏览器来解析PDF,此时如果我们在PDF中插入可以执行的恶意XSS代码,当用户在线预览时即可触发恶意XSS窃取用户...Cookie等数据信息或进行恶意操作,本篇文章我们主要介绍如何在PDF中构造恶意XSS代码通过上传PDF来实现XSS攻击 构造流程 Step 1:下载安装"迅捷PDF编辑器" Step 2:创建PDF...文件 Step 2:单击左侧的"页面"标签,选择与之对应的页面缩略图,然后从选项下拉菜单中选择"页面属性"命令 Step 3:在“页面属性"对话框单击"动作"标签,再从"选择动作"下拉菜单中选择"运行...JavaScript"命令,然后单击【添加】按钮,弹出JavaScript 编辑器对话框 Step 4:保存文档,之后使用浏览器打开 技巧拓展 我们可以把PDF文件嵌入到网页中试运行 <html

    2.1K20

    Visual Studio 2008 每日提示(十三)

    #124、在文件标签栏上关闭除激活文件外的所有文件 原文链接:You can "Close all but this" on files in the File Tab Channel 操作步骤: 鼠标右键单击一个文件的标签...(Tab),选择“除此之外全部关闭” 评论: 如果有个“关闭所有”的选项就更好了,这样一次就可以关闭所有的打开的文件。...#125、从标签栏上复制文件的完整路径 原文链接:You can copy a file’s full path from the File Tab Channel 操作步骤: 鼠标右键单击一个文件的标签...资源管理器打开激活文件所在目录 原文链接:You can open up a Windows Explorer browser directly to the active file 操作步骤: 鼠标右键单击一个文件的标签...评论: 我一般都是通过鼠标右键单击工具窗口的标题栏来选择窗口的状态(停靠或隐藏) #130、隐藏所有的工具窗口 原文链接:Shift+Click automatically docks an auto-hiding

    2K80

    Photoshop操作技巧

    ) 使用工具中的其他工具 当工具栏中的工具右下角有一个小三角,表示工具中还有其他的工具,比如将鼠标移到工具下按住鼠标左键会弹出一个下拉菜单下拉菜单中会展示工具下的其他工具 矩形选框工具的快捷键 M键...矩形选框工具与椭圆选框工具之间互相切换 选中矩形选框工具后,按Shift + M,可以实现矩形选区工具和椭圆选区工具之间的互相切换 删除选区的快捷键 Ctrl + D 移动工具的快捷键 V 键 打开或关闭标尺的快捷键...E 显示、隐藏参考线的快捷键 Ctrl + ; 打开切片工具的快捷键 C 放大、缩小图片 按住 Ctrl 和 Alt 滚动鼠标的滚轮 切图方法 选择需要切割的图片所在的图层——将鼠标移到选中的图层上单击鼠标右键...——在弹出的选项中选择转换为智能对象——选择矩形选框工具——使用矩形选框工具选择要切割的图片——复制要切割的图片——新建一个背景透明的图层(此时图层的尺寸会自动调整为选中的图片尺寸)——选择文件选项下的存储为...——在弹出的将优化结果存储为对话框中最底下的切片选项中选择选中的切片(切片选项默认选择的是所有切片)——单击Save按钮 meishadevs欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。

    73820

    Jump Start Bootstrap 第4章

    流行的网页功能,例如:漂亮的图片幻灯片、下拉菜单、弹出框等,都可以结合JavaScript和CSS实现。...现在,我们有了一个简单的下拉菜单,在单击链接时显示菜单。我们可以在浏览器中查看它,如图所示。 ? 让我们结合使用下拉式插件和我们在前一章中创建的标签和按钮菜单。...下拉插件的默认状态是关闭的;然而你刷新页面后它将切换状态使菜单可见。...在这里,请求是打开和关闭下拉菜单。 让我展示一个如何使用这些事件的例子。我已经写了下面的JQuery代码片段去监听所有的下拉插件状态,打印每个事件触发时的状态。 <!...这个按钮应该有一个close类,这样它就可以对齐到模式对话框的左上角。添加data-dismiss使按钮在单击关闭模式对话框。 对于本体,我们需要一个包含类modal-body的元素。

    28.3K40

    Windows Terminal完整指南

    为方便访问,右键单击该图标选择“锁定到开始”或“更多”,然后选择“锁定到任务栏”。...下拉菜单可用于启动其他选项卡访问设置: ? 终端会自动为你安装的所有 WSL 发行版和 Windows shell 生成配置文件,尽管你可以在全局设置中禁用生成。...要打开其他个人资料的标签,请从下拉菜单中选择该标签,或按 Ctrl + Shift + N ,其中 N 是个人资料的编号。 按 Alt + Shift + D 复制拆分窗格。...可以通过按住 Alt + Shift 使用光标键相应地调整大小来调整窗格的大小。 可以通过双击文本来重命名选项卡,你还可以通过右键单击标签选择菜单选项来更改名称或颜色: ?...全局设置中提供了一个自动选择时复制选项,你还可以通过右键单击鼠标来粘贴当前剪贴板项目。 配置 可从下拉菜单或 Ctrl + ,(逗号)访问设置。

    8.6K50

    使用 Spring Boot 从数据库实现动态下拉菜单

    使用 Spring Boot 从数据库实现动态下拉菜单 动态下拉菜单(或依赖下拉菜单)的概念对于编码来说是令人兴奋且具有挑战性的。动态下拉列表意味着一个下拉列表中的值取决于前一个下拉列表中选择的值。...现在下拉菜单的网页布局已经编码,是时候编写 AJAX 调用了。名为 Ajaxcall.js 的 JavaScript 文件用于填充下拉列表。它也是调用链接到 Java 服务方法的 URL 的地方。...然后使用 ' 此外,每当修改下拉列表时,依赖于修改的下拉列表的其他下拉列表值都会被删除,插入“选择”占位符。...在任何 Spring Boot 项目中,都会有一个带有 @SpringBootApplication 注释的 Java 类,该类必须使用右键单击运行为 _> Java 应用程序来运行。...第一个项目必须以这种方式运行。第二个项目必须在服务器上运行,方法是右键单击 -Run as -> Run on the server。

    1K50

    串口助手(简洁版)上位机软件零基础教程( C# + visual studio2017 )(一)

    至此,工程项目已经创建好,如下图所示: 此时,单击工具栏中的 “启动”按钮,可以看见debug下的调试窗口。像windows普通窗口一样,可以拖动,点击右上方关闭按钮可以关闭退出调试。...例如:在 Name 属性栏中,可查看标号控件名字(所有,一切的一切,控件都有自己的名字,在程序编写时会用到,最好不要去修改!) 在 Font 属性栏中,可修改文本的字体,大小。...在 Items 属性栏中,可添加组合框下拉菜单内容。 注:本次串口助手软件 端口组合框 会在程序中添加下拉菜单内容,不用在属性栏中手动添加。...这里我们是想通过定时器做一个500ms定时周期性中断,这样就可以不停检测电脑的可用串口,然后将它放在端口的组合框控件的下拉菜单中。...选择 工具箱 -》 组件 -》 Timer(定时器控件),单击选择到窗体中。他也是一个隐式控件。

    6.9K21

    【Java 进阶篇】深入了解 Bootstrap 插件

    Bootstrap 是一个开源的前端框架,最初由 Twitter 开发维护,现在由社区继续维护。它提供了一组强大的工具、样式和组件,用于创建漂亮、响应式的网页和应用程序。...用户可以点击关闭按钮或模态框外部来关闭模态框。 自定义模态框 模态框可以根据不同的设计需求进行自定义。您可以更改模态框的样式、内容、操作按钮等。以下是一个示例,展示如何自定义模态框: <!...下拉菜单可以包含链接、按钮或其他内容,用户可以点击或悬停在触发元素上来展开菜单。 基本的 Bootstrap 下拉菜单结构 一个基本的 Bootstrap 下拉菜单通常由以下部分组成: <!...自定义下拉菜单 下拉菜单可以根据不同的设计需求进行自定义。您可以更改菜单项的样式、内容、触发按钮的样式等。以下是一个示例,展示如何自定义下拉菜单: <!...在前面的示例中,我们使用了 data-toggle 和其他属性来定义插件的行为,但这些行为通常需要 JavaScript 的支持。

    24730

    巧用CSS3 :target 伪类制作Dropdown下拉菜单(无JS)

    先上效果图 正如标题所说,本文是教你如何巧用CSS3 :target 伪类制作Dropdown下拉菜单,原生HTML+CSS,无JavaScript。为了吸引各位往下看,先上实际例子,再进行剖析。...Duang~ 实际例子其实就是DeveMobile 主题的右上角那个按钮,你点一下就会有一个Dropdown下拉菜单出现,在其他区域点击返回原状。请用手机扫码查看: ?...(我习惯称为“开关”)——通常是一个button(实例是将a标签替换为一个button的功能);一部分就是触发动作的下拉菜单显示了。...当你触发下拉菜单后,有时候需要做关闭(返回原状)的动作,而从具体情况(比如说如本实例触发菜单后菜单将原来的开关都掩盖了)或者用户体验上考虑,最好是除菜单区域外的整个屏幕都随便盲点就能关闭菜单。...为了让下拉菜单更显“下拉”的情况,采用CSS3的origin 定位下转换原点。 注意下兼容性,所有主流浏览器均支持 :target,除了 IE8 及更早的版本,移动端的话直接用。

    3.9K80

    ubuntu 20.04 安装中文输入法_如何在ubuntu中安装中文输入法

    进入本文第一部分的第4步中的窗口,窗口中的最后一项就是输入法框架,选择后关闭窗口,重启系统。 三、添加IBus的中文输入法 1、重新进入本文第一部分第2步所示页面,单击+号。...4、如果需要,可以单击输入法右边的设置按钮,对输入法的特性进行设置。单击右上角的叉号关闭系统设置页面。至此,已完成智能拼音输入法的安装。...5、在Ubuntu桌面的右上角可以看到切换输入法,或者按“Win+空格”键切换。...单击Ubuntu右上角的小键盘图标,在下拉菜单里选择Configure Current Input Method,可以看到已经安装的两个拼音输入法: 打开一个终端或者文本编辑器,按“CTRL+空格”键...sudo apt-get install fcitx-googlepinyin 安装完成后,单击Ubuntu右上角的小键盘图标,在下拉菜单里选择Configure Current Input Method

    19.1K20

    Windows Terminal Preview 1.8发布,更新亮点一览

    来自 | OSCHINA 文 | 白开水 Windows Terminal Preview 1.8 已发布,按照其发布计划,只要新版本进入 Preview 阶段,上一个版本的所有预览功能就会进入稳定阶段...Shift+Click 在新窗口中打开一个配置文件 现在,用户可以按住 Shift 键单击下拉菜单中的配置文件,在新窗口中打开该配置文件。 ?...此下拉菜单还具有用于 monospaced 字体和 non-monospaced 字体的过滤器。 ?...其目前正在计划其他的方式来使用 settings UI 一次性编辑所有的配置文件。用户仍然可以使用 settings.json 文件内的"defaults"部分作为变通方法。...除了这些更新亮点,新版本还包含其他改进和 Bugfix,详细更新内容查看官方发布公告: https://devblogs.microsoft.com/commandline/windows-terminal-preview

    60630

    Windows Terminal Preview 1.8发布,更新亮点一览

    出品 | OSCHINA 文 | 白开水 Windows Terminal Preview 1.8 已发布,按照其发布计划,只要新版本进入 Preview 阶段,上一个版本的所有预览功能就会进入稳定阶段...Shift+Click 在新窗口中打开一个配置文件 现在,用户可以按住 Shift 键单击下拉菜单中的配置文件,在新窗口中打开该配置文件。 ?...此下拉菜单还具有用于 monospaced 字体和 non-monospaced 字体的过滤器。 ?...其目前正在计划其他的方式来使用 settings UI 一次性编辑所有的配置文件。用户仍然可以使用 settings.json 文件内的"defaults"部分作为变通方法。...除了这些更新亮点,新版本还包含其他改进和 Bugfix,详细更新内容查看官方发布公告: https://devblogs.microsoft.com/commandline/windows-terminal-preview

    47530

    Windows Terminal Preview 1.8发布,更新亮点一览

    出品 | OSCHINA,文 | 白开水 Windows Terminal Preview 1.8 已发布,按照其发布计划,只要新版本进入 Preview 阶段,上一个版本的所有预览功能就会进入稳定阶段...Shift+Click 在新窗口中打开一个配置文件 现在,用户可以按住 Shift 键单击下拉菜单中的配置文件,在新窗口中打开该配置文件。...此下拉菜单还具有用于 monospaced 字体和 non-monospaced 字体的过滤器。...其目前正在计划其他的方式来使用 settings UI 一次性编辑所有的配置文件。用户仍然可以使用 settings.json 文件内的"defaults"部分作为变通方法。...除了这些更新亮点,新版本还包含其他改进和 Bugfix,详细更新内容查看官方发布公告:https://devblogs.microsoft.com/commandline/windows-terminal-preview

    50340

    html下拉框设置默认值_html下拉列表框默认值

    HTML 和 JavaScript 综合练习题一、单项选择 1. Web 使用( D )在服务器和客户端之间传输数据。 A.FTP B. Telnet C. E-mail D. HTTP 2....创建一个密码框输入控件 Checkbox 创建一个复选框控件 Radio 创建一个单选按钮控件 Submit…… 7.要在表单中添加一个默认时为选中状态的复选框,应使用语句 ⑨。...什么是表单 表单(form)是由一个或多个文本输入框、可单击的按钮、多选框、下拉菜单和图像按钮等组 成,所有这些都放在 标签…… 附录 附录一 HTML 语法概述 HTML 头部标签标签 HTML的常见标签...框架 网页实景图 2.1 静态网页制作一个网站…… 制作下拉菜单步骤 3:选中数据有效性,弹出对话框,允许里选 则序列,源填写菜单项目,用英文逗号隔开,一定得是英文逗号才 行哦 制作下拉菜单步骤 4:确定就...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    33.8K21
    领券