我有一些HTML菜单,当用户点击这些菜单的头部时,我会完全显示这些菜单.我想在用户点击菜单区域外时隐藏这些元素.

jQuery是否可以实现类似的功能?

$("#menuscontainer").clickOutsideThisElement(function() {
    // Hide the menus
});

推荐答案

注意:应该避免使用stopPropagation,因为它会 destruct DOM中的正常事件流.更多信息请参见this CSS Tricks article.考虑使用this method代替.

将单击事件附加到关闭窗口的文档正文.将单独的单击事件附加到容器,该容器将停止向文档正文的传播.

$(window).click(function() {
  //Hide the menus if visible
});

$('#menucontainer').click(function(event){
  event.stopPropagation();
});

Javascript相关问答推荐

脚本.js:3:20未捕获的类型错误:无法读取空的属性(读取addEventHandler)

如何在使用fast-xml-parser构建ML时包括属性值?

Google Apps脚本中的discord邀请API响应的日期解析问题

使用Java脚本根据按下的按钮更改S文本

如何根据当前打开的BottomTab Screeb动态加载React组件?

在JS中拖放:检测文件

这个值总是返回未定义的-Reaction

try 使用javascript隐藏下拉 Select

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

在css中放置所需 colored颜色 以填充图像的透明区域

邮箱密码重置链接不适用于已部署的React应用程序

回溯替代方式

如何用javascript更改元素的宽度和高度?

如何在FiRestore中的事务中使用getCountFromServer

为什么在运行于<;img>;事件处理程序中的JavaScript中x和y是不可变的?

每隔一行文本段落进行镜像(Boustrophedon)

在执行console.log(new X())时记录一个字符串

CSS网格使页面自动滚动

在ReactJS上挂载组件时获得多个身份验证请求

如何从图表中映射一组图表-js使用REACT