我有一个简单的导航,有一个'News'<a>
。当点击它应该显示一个下拉菜单,有另外两个<a>
's "保加利亚"和";International"分别。点击"保加利亚"应该会显示另一个带有两页选项的下拉菜单"Dunavmost"和";Petel"。点击"国际"应该显示另外两个页面选项
"News"<a>
的工作非常好,但点击"保加利亚"和";International"不工作。代码实际上是一样的,绝对没有理由失败,但它确实失败了。
这是我的<nav>
:
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container-fluid">
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">NewsWebsite</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
<ul class="navbar-nav mr-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink-News" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
News
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink-News">
<a class="dropdown-item dropdown-toggle" href="#" id="navbarDropdownMenuLink-Bulgaria" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Bulgaria
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink-Bulgaria">
<a class="dropdown-item" href="#">Dunavmost</a>
<a class="dropdown-item" href="#">Petel</a>
</div>
<a class="dropdown-item dropdown-toggle" href="#" id="navbarDropdownMenuLink-International" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
International
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink-International">
<a class="dropdown-item" href="#">NY Times</a>
<a class="dropdown-item" href="#">DragonFire</a>
</div>
</div>
</li>
</ul>
<partial name="_LoginPartial" />
</div>
</div>
</nav>
Bootstrap不支持嵌套/内部下拉列表。你现在的问题是,点击一个嵌套的下拉菜单,它实际上会关闭外部的下拉菜单。
然而,你仍然可以在JQuery和Bootstrap的JS方法的帮助下实现嵌套下拉。我是这样做的: