twitter-bootstrap Twitter 引导下拉菜单不起作用?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17743194/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-21 17:37:59  来源:igfitidea点击:

Twitter bootstrap dropdown not working?

jquerycsstwitter-bootstrap

提问by pynovice

I have looked into every threads in stackoverflow but couldn't solve my issue. Here's my head element:

我查看了 stackoverflow 中的每个线程,但无法解决我的问题。这是我的头部元素:

<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}bootstrap/css/bootstrap.css" />
        <link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}bootstrap/css/custom.css" />
        <link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}bootstrap/css/bootstrap-responsive.css" />


        <!-- Javascript imports-->

        <script src="{{ STATIC_URL }}js/jquery.js" type="text/javascript"></script>
        <script src="{{ STATIC_URL }}bootstrap/js/bootstrap.js" type="text/javascript"></script>
        <script src="{{ STATIC_URL }}bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
        <script src="{{ STATIC_URL }}bootstrap/js/bootstrap-carousel.js" type="text/javascript"></script>
        <script src="{{ STATIC_URL }}bootstrap/js/bootstrap-dropdown.js" type="text/javascript"></script>
        <script src="{{ STATIC_URL }}bootstrap/js/bootstrap-tab.js" type="text/javascript"></script>
        <script src="{{ STATIC_URL }}bootstrap/js/bootstrap-scrollspy.js" type="text/javascript"></script>



        <title>Rank Analyzer</title>
        <meta name="author" content="zurelsoft" />
        <!-- Date: 2013-07-18 -->
    </head>

I am calling dropdown in body like this:

我像这样在 body 中调用 dropdown:

<div class="btn-group">
         <a class="btn btn-primary" href="#"><i class="icon-user icon-white"></i>test</a>
         <a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#"><i class="icon-pencil"></i> Edit</a></li>
            <li><a href="#"><i class="icon-trash"></i> Delete</a></li>
            <li><a href="#"><i class="icon-ban-circle"></i> Ban</a></li>
            <li class="divider"></li>
            <li><a href="#"><i class="i"></i> Make admin</a></li>
        </ul>
        </div>

The dropdown is not showing up. Am I missing something?

下拉菜单不显示。我错过了什么吗?

回答by PaoloCargnin

Have you initialize the dropdown?

你有没有初始化下拉菜单?

$('.dropdown-toggle').dropdown()

the html structure of the dropdown menu

下拉菜单的html结构

<div class="dropdown">
  <a class="dropdown-toggle" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html">
    Dropdown
    <b class="caret"></b>
  </a>
  <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
    ...
  </ul>
</div>

回答by LeftyX

It must work. Check this fiddle.
It seems to me that you're trying to include your bootstrap library twice.

它必须工作。检查这个小提琴
在我看来,您试图两次包含引导库。

<script src="{{ STATIC_URL }}bootstrap/js/bootstrap.js" type="text/javascript"></script>
<script src="{{ STATIC_URL }}bootstrap/js/bootstrap.min.js" type="text/javascript"></script>

Why don't you just use this library: http://twitter.github.io/bootstrap/assets/js/bootstrap.jsor it's minified version: http://twitter.github.io/bootstrap/assets/js/bootstrap.min.jswhich would include all the components.

为什么不直接使用这个库:http: //twitter.github.io/bootstrap/assets/js/bootstrap.js或者它的缩小版本:http: //twitter.github.io/bootstrap/assets/js/ bootstrap.min.js将包含所有组件。

As an alternative you can include every single twitter bootstrap component (as they do in their page) but you cannot include the full package library.

作为替代方案,您可以包含每个 twitter bootstrap 组件(就像它们在他们的页面中所做的那样),但您不能包含完整的包库。

<script src="assets/js/bootstrap-transition.js"></script>
<script src="assets/js/bootstrap-alert.js"></script>
<script src="assets/js/bootstrap-modal.js"></script>
<script src="assets/js/bootstrap-dropdown.js"></script>
<script src="assets/js/bootstrap-scrollspy.js"></script>
<script src="assets/js/bootstrap-tab.js"></script>
<script src="assets/js/bootstrap-tooltip.js"></script>
<script src="assets/js/bootstrap-popover.js"></script>
<script src="assets/js/bootstrap-button.js"></script>
<script src="assets/js/bootstrap-collapse.js"></script>
<script src="assets/js/bootstrap-carousel.js"></script>
<script src="assets/js/bootstrap-typeahead.js"></script>
<script src="assets/js/bootstrap-affix.js"></script>

回答by Sujit Y. Kulkarni

I placed jquery.js above bootstrap.jsand worked for me. If in case this helps..

我将jquery.js 放在 bootstrap.js 之上并对我来说有效。如果这有帮助..

回答by HarrisonC

Try this. You might want to restructure the code.

试试这个。您可能想要重构代码。

<div class="btn-group">
<button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><i class="icon-user icon-white"> Test <span class="caret"></span></button>
            <ul class="dropdown-menu">
              <li><a href="#"><i class="icon-pencil"></i> Edit</a></li>
              <li><a href="#"><i class="icon-trash"></i> Delete</a></li>
              <li><a href="#"><i class="icon-ban-circle"></i> Ban</a></li>
              <li class="divider"></li>
              <li><a href="#">Make Admin</a></li>
            </ul>
          </div>