【发布时间】:2021-03-21 05:15:38
【问题描述】:
我无法让 Bootstrap 导航栏下拉菜单始终如一地工作。
- 在第一页加载时,它可以工作
- 如果我单击导航链接,当新页面加载时,下拉菜单可能会下拉或不执行任何操作。
- 如果在下拉菜单失败后,我点击了其他一些可能会修复它但很可能不会修复的链接。
- 如果我刷新页面,下拉菜单将始终有效。
我正在使用 Bootstrap 4.5 开发 Rails 6 应用程序。我几乎从他们的文档中复制了示例导航栏代码,填写了链接路径并调整了 ID。 (我还删除了试图排除故障的切换器)
如果对我有帮助,我也遇到过类似的问题,即 Bootstrap 折叠功能无法始终如一地工作。
视图/布局/application.html.haml:
%html
%head
%link{:crossorigin => "anonymous", :href => "https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css", :integrity => "sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2", :rel => "stylesheet"}/
%title
@title
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'
= csrf_meta_tags
= csp_meta_tag
%body
.container
= render "layouts/nav"
%p.notice.hide= notice
%p.alert.hide= alert
= yield
.footer
%script{:crossorigin => "anonymous", :integrity => "sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj", :src => "https://code.jquery.com/jquery-3.5.1.slim.min.js"}
%script{:crossorigin => "anonymous", :integrity => "sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx", :src => "https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"}
视图/布局/_nav.html/haml:
%nav.navbar.navbar-expand.navbar-light.bg-light
%a.navbar-brand{:href => root_path} Home
#navbarSupportedContent
%ul.navbar-nav.mr-auto
%li.nav-item.dropdown
%a#navbarDropdownOne.nav-link.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "#", :role => "button"}
Planner
.dropdown-menu{"aria-labelledby" => "navbarDropdownOne"}
%a.dropdown-item{:href => events_path} Events
%a.dropdown-item{:href => setups_path} Setups
%a.dropdown-item{:href => event_sessions_path} Event Sessions
%a.dropdown-item{:href => setup_answers_path} Setup Answers
%li.nav-item.dropdown
%a#navbarDropdownTwo.nav-link.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "#", :role => "button"}
Supplier
.dropdown-menu{"aria-labelledby" => "navbarDropdownTwo"}
%a.dropdown-item{:href => setup_categories_path} Setup Categories
%a.dropdown-item{:href => questions_path} Questions
%a.dropdown-item{:href => multiple_choices_path} Multiple Choices
%a.dropdown-item{:href => template_items_path} Template Items
%a.dropdown-item{:href => template_answers_path} Template Answers
%a.dropdown-item{:href => items_path} Items
%li.nav-item.dropdown
%a#navbarDropdownThree.nav-link.dropdown-toggle{"aria-expanded" => "false", "aria-haspopup" => "true", "data-toggle" => "dropdown", :href => "#", :role => "button"}
Admin
.dropdown-menu{"aria-labelledby" => "navbarDropdownThree"}
%a.dropdown-item{:href => user_path(current_user)} Your Account
%a.dropdown-item{:href => users_path} Users
【问题讨论】:
标签: bootstrap-4 ruby-on-rails-6