Bootstrap4 dropdown only works in the second click

2019-04-09 19:21发布

问题:

Hey guys I'm working on a django project that is using bootstrap4 and I'm with a little problem with dropdown toggler...

The toggler only toggles the dropdown-menu after the second link!

What i've done wrong?

This is my dropdown HTML code:

            <li class="nav-item dropdown show">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    Dropdown Toggler
                </a>
                <div class="dropdown-menu" role="menu" aria-labelledby="navbarDropdown">
                 <a class="dropdown-item">Link 1</a>
                 <a class="dropdown-item">Link 2</a>
                </div>
            </li>

回答1:

you need to use the toggle like that and assign the data-target to the drop down menu with it's id

using

data-target="#navbarDropdown"

 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarDropdown" aria-controls="navbarDropdown" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

and then assign that id to the menu

        <li class="nav-item dropdown show">
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarDropdown" aria-controls="navbarDropdown" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
            <div id="navbarDropdown" class="dropdown-menu"  role="menu" aria-labelledby="navbarDropdown">
             <a class="dropdown-item">Link 1</a>
             <a class="dropdown-item">Link 2</a>
            </div>
        </li>


回答2:

I had the same problem then resolved. Often I due to a double import of bootstrap js libraries. Hope will help you.



回答3:

Try to put bootstrap js file before bootstrap css

Ex:

  1. Link Bootstrap.min.js file first.

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

  1. Then link css file

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">

I got the same issue and after changing the positions of the js and css, dropdown works well. Hope it helped you.



回答4:

I came across the same issue recently, i solved this issue by adding $('.dropdown-toggle').dropdown() after loading the drop-down. Hope this may help without changing from the data-toggle="dropdown" to data-toggle="collapse".