我对新的引导程序版本有点困惑,因为他们将下拉菜单更改为 div:
<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown link
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
</div>
</nav>
你们有什么想法可以在该片段的下拉链接中获得悬停下拉列表,而无需添加额外的脚本代码(仅来自引导程序的 css 和脚本)?我已经看到了引导 css 类,但我无法与引导 V3 中的类关联(我在 V3 中没有添加 jquery 就完成了这个)。
原文由 Exprove 发布,翻译遵循 CC BY-SA 4.0 许可协议
简单,仅 CSS 的 解决方案:
单击时,它仍然会切换到
show
类(并且在不再悬停时将保持打开状态)。要 正确 解决这个问题,请使用为基于指针的设备保留的事件和属性:jQuery 的
mouseenter
、mouseleave
和:hover
。应该可以流畅、直观地工作,同时 完全 不会干扰下拉菜单在基于触摸的设备上的工作方式。试试看,让我知道它是否适合你:完整 的 jQuery 解决方案( touch untouched):
Pre v4.1.2 解决方案( 已弃用):
v4.1.2 shiplist 对下拉菜单的工作方式进行了 此更改,使上述解决方案不再有效。
这是在 v4.1.2 及更高版本中悬停时打开下拉菜单 的最新 解决方案:
重要提示: 如果使用 jQuery 解决方案,删除 CSS 很重要(否则单击
.dropdown-toggle
或单击菜单选项时下拉菜单不会关闭)。