我最近更新到Bootstrap 4.0.0,我正在运行Rails 5.1.5并且我在他们的github中按照README中的指定安装了BS。
此外,它已被添加到package.json中用于纱线。
在gemfile中:gem'bootstrap','〜> 4.0'gemite'jquery-rails'
在package.json中:“bootstrap”:“^ 4.0.0”,“popper.js”:“^ 1.12.9”,“jquery”:“^ 3.3.0”
我在application.scss中设置它:@import“bootstrap”;
我的app / assets / javascripts / application.js:
//= require rails-ujs
//= require jquery3
//= require popper
//= require bootstrap-sprockets
//= require bootstrap
//= require_tree .
现在我从在线文档中尝试一个基本的例子:
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" id="about-us" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
About Us
</button>
<div class="dropdown-menu" aria-labelledby="about-us">
<a class="dropdown-item" href="#">Our Story</a>
<a class="dropdown-item" href="#">Our Team</a>
<a class="dropdown-item" href="#">Contact Us</a>
</div>
</div>
问题在于,当我点击按钮时,会出现菜单,但是如果我再次点击它就不会再回来了,之后我再也不能点击了它,就像冻结一样。
答案 0 :(得分:1)
尝试将引导脚本文件直接包含在HTML文件中,它应该做的事情,我认为它对您来说不应该是一个问题。
你可以在这里找到它们https://getbootstrap.com/docs/4.0/getting-started/introduction/
它应该是这样的:
<!--Bootstrap CSS should be in head tag-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<!--Your dropdown-->
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" id="about-us" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
About Us
</button>
<div class="dropdown-menu" aria-labelledby="about-us">
<a class="dropdown-item" href="#">Our Story</a>
<a class="dropdown-item" href="#">Our Team</a>
<a class="dropdown-item" href="#">Contact Us</a>
</div>
</div>
<!--Bootstrap script files, they come at the end of your body tag-->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
这是一个有效的JSFiddle,包含这些文件:https://jsfiddle.net/c5bnsrsy/1/
答案 1 :(得分:0)
我刚刚添加
$(document).ready(function() { $(".dropdown-toggle").dropdown(); })
在一个随机的js文件中,并且在第一次点击时效果很好