【问题标题】:dropdown button of bootstrap does not work引导的下拉按钮不起作用
【发布时间】:2021-03-11 01:16:59
【问题描述】:

我从https://getbootstrap.com/docs/5.0/components/dropdowns/ 的第一个示例中复制的下拉代码 但它确实在那里工作。我使用 Bootstrap v5.0.0-beta2。我将所有代码粘贴到以下位置:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    </head>

    <body>
        <script src="jQuery/jquery-3.6.0.min.js"></script>
        <script src="js/popper.min.js"></script>
        <script src="bootstrap/js/bootstrap.esm.min.js"></script>
        <script src="bootstrap/js/bootstrap.bundle.min.js"></script>
        <script src="bootstrap/js/bootstrap.min.js"></script>

        <div class="dropdown">
            <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
                Dropdown button
            </button>
            <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
                <li><a class="dropdown-item" href="#">Action</a></li>
                <li><a class="dropdown-item" href="#">Another action</a></li>
                <li><a class="dropdown-item" href="#">Something else here</a></li>
            </ul>
        </div>
    </body>
</html>

【问题讨论】:

    标签: html twitter-bootstrap dropdown


    【解决方案1】:

    您需要包含 boostrap.min.js 和 popper.min.js 脚本才能使下拉菜单起作用。

    下拉菜单基于第三方库 Popper.js 构建,该库提供动态定位和视口检测。请务必在 Bootstrap 的 JavaScript 之前包含 popper.min.js 或使用包含 Popper.js 的 bootstrap.bundle.min.js / bootstrap.bundle.js。尽管不需要动态定位,但 Popper.js 不用于在导航栏中定位下拉菜单。

    Boostrap Dropdowns

    【讨论】:

    • 是的,我将它们包含在代码中```
    • 尝试将 Javscript 文件放在
    【解决方案2】:

    我认为这是 Bootstrap 本身的问题。当我改回 v4.6.0 https://getbootstrap.com/docs/4.6/getting-started/download/ 时,它可以工作了。

    【讨论】:

      【解决方案3】:

      没有 jQuery 的 BS-v5 --> Bootstrap Bundle with Popper
      所以你只能使用一个文件包含并检查如下 sn-p。

      <!doctype html>
      <html lang="en">
        <head>
          <!-- Required meta tags -->
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <!-- Bootstrap CSS -->
          <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
          <title>BS-v5</title>
        </head>
        <body>
        <div class="container py-1">
          <div class="row">
            <div class="col-sm-12">
              <h1>Bootstrap v5.0.0-beta2</h1>
                <div class="dropdown">
                  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
                      Dropdown button
                  </button>
                  <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
                      <li><a class="dropdown-item" href="#">Action</a></li>
                      <li><a class="dropdown-item" href="#">Another action</a></li>
                      <li><a class="dropdown-item" href="#">Something else here</a></li>
                  </ul>
              </div>
            </div>
          </div>
       </div>
       
      <!-- Bootstrap Bundle with Popper -->
      <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js" integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0" crossorigin="anonymous"></script>
      </body>
      </html>

      【讨论】:

        【解决方案4】:

        在结束&lt;/body&gt;标签之前添加你的脚本标签,而不是在它之后或body的开头

        但也要使用bootstrap主页上的jsDelivr方法

        https://getbootstrap.com/

        <!DOCTYPE html>
        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
            </head>
        
            <body>
                <div class="dropdown">
                    <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
                        Dropdown button
                    </button>
                    <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
                        <li><a class="dropdown-item" href="#">Action</a></li>
                        <li><a class="dropdown-item" href="#">Another action</a></li>
                        <li><a class="dropdown-item" href="#">Something else here</a></li>
                    </ul>
                </div>
                <!-- JavaScript Bundle with Popper -->
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js" integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0" crossorigin="anonymous"></script>
            </body>
        </html>
        

        【讨论】:

          猜你喜欢
          • 2016-03-18
          • 1970-01-01
          • 2020-12-11
          • 2018-08-16
          • 2015-06-09
          • 1970-01-01
          • 2014-02-02
          • 1970-01-01
          • 2016-03-22
          相关资源
          最近更新 更多