Bootstrap下拉列表无法正常工作

hju*_*ter 68 html twitter-bootstrap drop-down-menu

我不能让bootstrap下拉列表工作.这是我的导航html:

<ul class='nav'>
  <li class='active'>Home</li>
  <li class='dropdown'>
    <a class="dropdown-toggle" data-toggle="dropdown" href='#'>Personal asset loans</a>
    <ul class="dropdown-menu" role="menu">
      <li><a href="#">asds</a></li>
      <li class="divider"></li>
    </ul>
  </li>
  <li>Payday loans</li>
  <li>About</li>
  <li>Contact</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

以下是脚本:

<script type="text/javascript" src="js/bootstrap/bootstrap-dropdown.js"></script>
<script>
     $(document).ready(function(){
        $('.dropdown-toggle').dropdown()
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?谢谢你的回答!

Pri*_*aka 136

我有同样的问题.经过几个小时的麻烦拍摄后发现,

我有

<script type="text/javascript" src="Scripts/bootstrap.min.js"></script>
<script type="text/javascript" src="Scripts/jquery-2.1.1.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

代替,

<script type="text/javascript" src="Scripts/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="Scripts/bootstrap.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人

  • Imray,bootstrap脚本注册了jQuery的扩展,因此如果没有加载jquery,则永远不会注册扩展. (6认同)
  • 确实,顺序很重要。谢谢您的帮助! (3认同)
  • 有什么不同? (2认同)
  • 也许应该提到的是,如果您使用最新的 CDN 用于 Bootstraps CSS 和 Javascript,则不需要原始问题中的第二个脚本(带有“.dropdown()”的脚本。如果您只是按照安装指南进行操作最新的引导版本应该可以正常工作。在撰写本文时,可以在这里找到:https://getbootstrap.com/docs/5.2/getting-started/introduction/ (2认同)

s k*_*s k 82

在bootstrap 5中,需要从data-toggle='dropdown'改为data-bs-toggle='dropdown'

  • 是的,这是唯一对我有用的,甚至直接从 bootstraps 文档中获取示例,但它不起作用,但现在我注意到我正在查看 v4 的文档 (4认同)
  • 这就是为我做的!我很困惑,我知道我正确导入了 bootstrap 包和 jquery,并且我直接使用了文档中的示例代码。很高兴我找到你的消息! (3认同)
  • 只是做了完全相同的事情。从文档复制...但需要更改上面的代码。我希望他们能让事情保持不变..使得无法升级到新版本! (2认同)

kub*_*lay 76

当我包括bootstrap.min.js两次时,我遇到了同样的问题.删除其中一个,它开始工作.

  • 这解决了我的问题。我的角度应用程序通过 gulp 任务拉入引导程序的多个副本以注入我的 Bower_components (2认同)

小智 23

FYI:如果你有bootstrap.js,你应该加引导,dropdown.js.

我不确定bootstrap.min.js的结果.

  • 谢谢.我有dropdown.js和bootstrap.js因此它不起作用.删除dropdown.js解决了这个问题. (2认同)

小智 13

对于你的风格,你需要包含bootstrap的css文件,通常就在</head>元素之前

<link href="css/bootstrap.css" rel="stylesheet">    
Run Code Online (Sandbox Code Playgroud)

接下来,您需要包含js文件,建议将它们包含在文档的末尾,通常在</body>这样的页面加载更快之前.

<script src="js/jquery.js"></script>        
<script src="js/bootstrap.js"></script>
Run Code Online (Sandbox Code Playgroud)


gau*_*171 12

工作演示:http://codebins.com/bin/4ldqp73

试试这个

<ul class='nav'>
  <li class='active'>Home</li>
  <li>
    <div class="dropdown">
      <a class="dropdown-toggle" data-toggle="dropdown" href="#">Personal asset loans</a>
      <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">            
        <li><a href="#">asds</a></li>
        <li class="divider"></li>
      </ul>
    </div>   
    </li>
    <li>Payday loans</li>
  <li>About</li>
  <li>Contact</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

  • 您的演示中的下拉列表似乎不再起作用,或者问题出在我的浏览器上. (44认同)

小智 7

在body标签中添加以下行.

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
  <script src="https://code.jquery.com/jquery.js"></script>
  <!-- Include all compiled plugins (below), or include individual files 
        as needed -->
  <script src="js/bootstrap.min.js"></script>
Run Code Online (Sandbox Code Playgroud)


mec*_*ity 7

我只是在我的索引页面中添加了JS一部分bootstrap,然后它起作用了

如果您使用的是最新版本的引导程序,请粘贴此内容

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
Run Code Online (Sandbox Code Playgroud)

  • @ZsoltMeszaros 是的,我知道。但还有其他人可能面临这个问题 (2认同)

小智 6

你必须将这些文件导入<head></head>你的html.

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
Run Code Online (Sandbox Code Playgroud)


Fra*_*ine 5

你有没有 jquery.js

另外,将这行代码与您的代码进行比较:

<a class="dropdown-toggle" data-toggle="dropdown" href="#">Personal asset loans<b class="caret"></b></a>
Run Code Online (Sandbox Code Playgroud)

看到这个版本正常.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Bootstrap dropdown</title>
    <link href="css/bootstrap.css" rel="stylesheet" type="text/css" />

</head>
<body>
    <div class="navbar">
        <div class="navbar-inner">
            <div class="container">
                <ul class="nav">
                    <a class="brand" href="#">w3resource</a>
                    <li class="active"><a href="#">Home</a></li>
                    <li><a href="#">Blog</a></li>
                    <li><a href="#">About</a></li>
                    <li><a href="#">Contact</a></li>
                    <li class="dropdown" id="accountmenu">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Tutorials<b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">PHP</a></li>
                            <li><a href="#">MySQL</a></li>
                            <li class="divider"></li>
                            <li><a href="#">JavaScript</a></li>
                            <li><a href="#">HTML5</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
    <div class="container-fluid">
     <h1>Dropdown Example</h1>
    </div>
    <script type="text/javascript" src="js/jquery-latest.js"></script>
    <script type="text/javascript" src="js/bootstrap.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('.dropdown-toggle').dropdown();
        });
   </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)