【发布时间】:2022-01-07 00:56:40
【问题描述】:
我有一个下拉菜单。 当鼠标悬停在父菜单上时,子链接出现在下方。在鼠标移出菜单元素之前,子链接将一直存在。悬停被移除,子链接消失。
我试过了
$(":hover").blur();
但这不起作用。
我猜这是因为该项目没有应用焦点。只是:悬停。 有没有办法从 jquery 中删除 :hover?
谢谢
编辑以包含 html/css
<div class="menu-item">
<button class="dropdown">Dropdown</button>
<div class="dropdown-menu">
<a href="#">Anchor 1</a>
<a href="#">Anchor 2</a>
</div>
</div>
和 CSS
.dropdown {
background-color: #04AA6D;
color: white;
font-size: 16px;
}
.menu-item {
position: relative;
display: inline-block;
}
.dropdown-menu {
display: none;
position: absolute;
z-index: 1;
}
.dropdown-menu a {
color: black;
display: block;
}
.menu-item:hover .dropdown-menu {
display: block;
}
这是菜单示例。我的实际菜单要大得多。 当访问者将鼠标悬停在下拉菜单上时显示。 当他们仍然点击菜单时,我试图关闭菜单。好像悬停已被移除。
我试过蓝色,鼠标移出。
点击后菜单仍然显示,只有在用户滚动出菜单后才会关闭,因为菜单太大了,这并不总是可能的。
谢谢
【问题讨论】:
-
这感觉像是一个 XY 问题,真正的问题是点击后隐藏菜单吗?如果您包含菜单结构的最小复制示例,可能会更清楚。
-
如果是悬停问题,您可以使用 css 来解决。我会跟着星展银行说给代码。
-
你能做个小提琴吗?
-
@NitinS jsfiddle.net/k0fd5amw/1,在这里