【问题标题】:Bootstrap Dropdown button not opening on clickBootstrap 下拉按钮在单击时未打开
【发布时间】:2018-07-16 02:14:54
【问题描述】:

我正在尝试使用引导程序构建带有按钮的导航栏,但下拉菜单在单击时未打开。我在正确的位置的代码中包含了引导 CDN 链接、引导 css 链接、ajax popper 链接和 jquery 链接。我没有向导航栏按钮添加任何外部 CSS。这可能是什么问题?

这是一个sn-p:

 <!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

    <script src="main.js"></script>
</head>

<body>
    <nav class="navbar navbar-expand-lg navbar fixed-top navbar-light bg-light">
        <span class="navbar-toggler-icon"></span>
        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav mr-auto ">
                <li class="nav-item">
                    <div class="new-pickup"> <a class="nav-link" id="new-pickup" href="#"><i class="fa fa-plus"id="add-plus" aria-hidden="true"></i>
                     New Pickup&nbsp;&nbsp;&nbsp;&nbsp;</a></div>
                    <li class="nav-item dropdown">
                        <div class="sms-button">
                            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                          &nbsp;SMS&nbsp;&nbsp;
                        </a>
                        </div>
                        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                            <a class="dropdown-item" href="#">Delivered Status</a>
                            <a class="dropdown-item" href="#">Log details</a>
                        </div>
                    </li>
                    <li class="nav-item dropdown">
                        <div class="email-button">
                            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            &nbsp;Email&nbsp;&nbsp;
                          </a>
                        </div>
                        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                            <a class="dropdown-item" href="#">Deivered Status</a>
                            <a class="dropdown-item" href="#">Log Status</a>
                        </div>
                    </li>
                    <li class="nav-item">
                        <div class="call-button">
                            <a class="nav-link" href="#"><i class="fa fa-phone fa-flip-horizontal " aria-hidden="true"></i>
                          Call&nbsp;&nbsp;&nbsp;
                       </a></div>
                    </li>
                </li>
            </ul>
        </div>

    </nav>



    <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>

</body>

</html>

main.js 文件有:

  $(document).ready(function(){
    $(".dropdown, .btn-group").hover(function(){
        var dropdownMenu = $(this).children(".dropdown-menu");
        if(dropdownMenu.is(":visible")){
            dropdownMenu.parent().toggleClass("open");
    }
    });
});

【问题讨论】:

  • 你检查过控制台是否有错误吗?
  • 您还需要展示您在main.js 中所写的内容。可能有一些错误导致 JS 运行
  • 添加了 sn-p

标签: html css twitter-bootstrap web bootstrap-4


【解决方案1】:

这可能是因为您在其中添加了另一个 div。

尝试重新排列您的代码,使具有 .dropdown-toggle 类的元素成为下一项。而不是 div.sms-button

【讨论】:

  • 这修复了它。谢谢。
【解决方案2】:

试试下面的代码:

选项:1

<li class="nav-item dropdown">
    <div class="sms-button" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        <a class="nav-link dropdown-toggle" href="#" >&nbsp;SMS&nbsp;&nbsp;</a>
    </div>
    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
        <a class="dropdown-item" href="#">Delivered Status</a>
        <a class="dropdown-item" href="#">Log details</a>
    </div>
</li>

选项:2

<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">&nbsp;Email&nbsp;&nbsp;</a>
    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
        <a class="dropdown-item" href="#">Deivered Status</a>
        <a class="dropdown-item" href="#">Log Status</a>
    </div>
</li>

【讨论】:

    【解决方案3】:

    data-toggle="collapse" data-target=".navbar-collapse" 添加到您的可点击图标

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
            <script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
        
            <script src="main.js"></script>
    
            <nav class="navbar navbar-expand-lg navbar fixed-top navbar-light bg-light">
                <!--code changes here-->
                <span class="navbar-toggler-icon" data-toggle="collapse"  data-target=".navbar-collapse"></span>
                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                    <ul class="navbar-nav mr-auto ">
                        <li class="nav-item">
                            <div class="new-pickup"> <a class="nav-link" id="new-pickup" href="#"><i class="fa fa-plus"id="add-plus" aria-hidden="true"></i>
                             New Pickup&nbsp;&nbsp;&nbsp;&nbsp;</a></div>
                            <li class="nav-item dropdown">
                                <div class="sms-button">
                                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                  &nbsp;SMS&nbsp;&nbsp;
                                </a>
                                </div>
                                <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                                    <a class="dropdown-item" href="#">Delivered Status</a>
                                    <a class="dropdown-item" href="#">Log details</a>
                                </div>
                            </li>
                            <li class="nav-item dropdown">
                                <div class="email-button">
                                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    &nbsp;Email&nbsp;&nbsp;
                                  </a>
                                </div>
                                <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                                    <a class="dropdown-item" href="#">Deivered Status</a>
                                    <a class="dropdown-item" href="#">Log Status</a>
                                </div>
                            </li>
                            <li class="nav-item">
                                <div class="call-button">
                                    <a class="nav-link" href="#"><i class="fa fa-phone fa-flip-horizontal " aria-hidden="true"></i>
                                  Call&nbsp;&nbsp;&nbsp;
                               </a></div>
                            </li>
                        </li>
                    </ul>
                </div>
        
            </nav>
        
        
        
            <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>

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 1970-01-01
      • 2016-08-19
      • 2012-05-15
      相关资源
      最近更新 更多