【发布时间】:2019-04-17 20:33:27
【问题描述】:
我在导航栏中有一个 Bootstrap 下拉菜单。您需要单击菜单将其打开。如果您在菜单外单击,它将关闭。如果单击其中一项(类下拉项),它将保持打开状态。我想在单击菜单项时关闭它。我发现的所有项目都引用了 Bootstrap 的早期版本。
这是我的代码。当我进入网站时第一次单击菜单项时,菜单会关闭。下次我单击菜单项时,它仍保持打开状态。
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<%= "#{t :link_products}" %>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<div class="dropdown-item"><%= link_to "#{t :link_app}", locale_root_path(anchor: "games"), class: "page-scroll" %></div>
<div class="dropdown-item"><%= link_to "#{t :link_vr}", locale_root_path(anchor: "vrsection"), class: "page-scroll" %></div>
<div class="dropdown-item"><%= link_to "#{t :link_tesserart}", locale_root_path(anchor: "tesserartview"), class: "page-scroll" %></div>
<div class="dropdown-item"><%= link_to "#{t :link_books}", locale_root_path(anchor: "booksview"), class: "page-scroll" %></div>
<div class="dropdown-divider"></div>
<div class="dropdown-item"><%= link_to "#{t :link_home}", locale_root_path %></div>
</div>
</li>
我假设我需要使用 Javascript,但我不确定如何编写解决方案。我的 Rails 应用程序中确实有 jQuery。这是我用于导航丸的代码,用于在单击选项卡链接时显示我的选项卡内容。
$(window).load(function() {
$('#appPills a', '#vrPills a').click(function (e) {
e.preventDefault()
$(this).tab('show')
})
})
这两种方法我都试过了,但都不起作用。
$(window).load(function() {
$('.dropdown-item a').click(function (e) {
$(".dropdown-menu").toggleClass("close");
})
})
$(window).load(function() {
$('.dropdown-item').click(function (e) {
$(".dropdown-menu").toggleClass("close");
})
})
【问题讨论】:
标签: javascript jquery ruby-on-rails drop-down-menu bootstrap-4