Javascript 响应菜单赢得';t单击外部时切换或关闭

Javascript 响应菜单赢得';t单击外部时切换或关闭,javascript,html,css,Javascript,Html,Css,所以,我在媒体查询中显示了这个导航菜单按钮 @仅媒体屏幕和(最大宽度:640px){ 标题{ 位置:绝对位置; } #菜单图标{ 显示:内联块; } 美国海军, 导航:主动ul{ 显示:无; 位置:绝对位置; 填充:20px; 背景:#fff; 边框:5px实心#3434; 右:20px; 顶部:60px; 宽度:25%; 边界半径:4px 0 4px 4px; } 李海军{ 文本对齐:居中; 宽度:100%; 填充:10px0; 保证金:0; } 导航:悬停{ 显示:块; } #李画廊{ 宽

所以,我在媒体查询中显示了这个导航菜单按钮

@仅媒体屏幕和(最大宽度:640px){
标题{
位置:绝对位置;
}
#菜单图标{
显示:内联块;
}
美国海军,
导航:主动ul{
显示:无;
位置:绝对位置;
填充:20px;
背景:#fff;
边框:5px实心#3434;
右:20px;
顶部:60px;
宽度:25%;
边界半径:4px 0 4px 4px;
}
李海军{
文本对齐:居中;
宽度:100%;
填充:10px0;
保证金:0;
}
导航:悬停{
显示:块;
}
#李画廊{
宽度:100%;
利润率:20px 0 20px;
}
}


我想这就是你要找的

$(文档).ready(函数(){
$(“#菜单图标”)。单击(函数(){
$(“#菜单”).toggle();
});
$('html')。单击(函数(){
$(“#菜单”).hide();
});
$(“#菜单”)。单击(函数(事件){
event.stopPropagation();
});
$(“#菜单图标”)。单击(函数(事件){
event.stopPropagation();
});
});
#菜单图标{
边框:实心1px黑色;
背景:#333;
颜色:白色;
显示:块;
宽度:40px;
文本对齐:居中;
填充物:5px10px;
文字装饰:无;
}
#菜单{
显示:无;
填充:10px;
边框:实心1px红色;
背景:#aaa;
保证金:0;
列表样式:无;
宽度:200px;
}


您指的是导航栏按钮,它在悬停时显示3菜单?如果是链接中的导航,则其工作正常。否则你没有足够的描述。是的。正是这个。它在悬停时工作,但在移动设备上,它只在单击后打开一次,不会关闭。不是在点击之后,也不是在点击其中一个链接之后。完全正确!谢谢但是我不能让它在我的代码上工作。我将js代码放在一个外部文件中。也许这和悬停有关?nav:hover ul{display:block;}脚本根本不工作?至少是警报?希望您没有忘记包含jquery库。$(document).ready(函数(){alert(“hello”);});试试这个脚本。如果此警报不起作用,则在html中包含jquery时会出现一些问题。