引导下拉菜单不弹出

Posted

技术标签:

【中文标题】引导下拉菜单不弹出【英文标题】:Bootstrap Dropdown menu not popping up 【发布时间】:2019-03-11 04:45:51 【问题描述】:

我知道有几个类似的问题,但他们似乎没有为我解决问题。 我正在尝试设置一个页面(使用 python/flask,但这不应该是相关的)并且我正在使用引导程序。 我对这一切都很陌生,但试图创建一些虚拟导航栏,因此从引导示例页面复制了导航类。 但是,下拉菜单不会弹出(它什么也不做)。 你有什么建议吗? 下面是我整个页面的html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dashboard</title>
    <link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <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">
          Dropdown
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          <a class="dropdown-item" href="#">Action</a>
          <a class="dropdown-item" href="#">Another action</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="#">Something else here</a>
        </div>
      </li>
      <li class="nav-item">
        <a class="nav-link disabled" href="#">Disabled</a>
      </li>
    </ul>
  </div>
</nav>

    HOME

    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
</body>
</html>

【问题讨论】:

在 bootstraph.js 之前添加 jQuery 【参考方案1】:

您只使用引导脚本。

您需要为导航栏添加 jquery 脚本(我建议也使用 popper 脚本)

 <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

Bootstrap website上也提到了同样的事情

【讨论】:

你是救生员!老实说,我确实添加了 jquery,但没有添加 popper,这没有用,也许我的订单有误,但现在它可以正常工作了。

以上是关于引导下拉菜单不弹出的主要内容,如果未能解决你的问题,请参考以下文章

引导导航下拉菜单切换问题

多级下拉引导

Twitter 引导拆分下拉菜单

引导下拉菜单在单击时关闭

多级下拉菜单引导程序

增加引导下拉菜单宽度