html - Bootstrap 下拉按钮点击不打开

标签 html css twitter-bootstrap web bootstrap-4

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

这是一个片段:

 <!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");
    }
    });
});

最佳答案

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

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

关于html - Bootstrap 下拉按钮点击不打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48635860/

相关文章:

css - 如何使用 Google Material Design Sprite 图标..?

jQuery:点击放大和移动

php - 我如何在 opencart 中使用 Bootstrap slider

ruby-on-rails - link_to disable_with 不禁用按钮

html - 使用 Bootstrap 将下拉菜单对齐到中间

javascript - 如何在php中获取下拉值

没有更新的 HTML5 appCache 事件

html - 在屏幕中间居中一个 'div',即使页面向上或向下滚动?

jquery 分别包装列表元素的每四个子元素

html - Bootstrap 3 - 下拉菜单不起作用并且鼠标悬停