Bootstrap4 下拉菜单仅在第二次单击时有效

问题描述 投票:0回答:8

我正在开发一个 django 项目,该项目使用 bootstrap4,我在下拉切换器方面遇到了一些问题。

切换器仅在第二个链接之后切换下拉菜单!

我做错了什么?

这是我的下拉 HTML 代码:

            <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>
drop-down-menu bootstrap-4
8个回答
41
投票

我也遇到了同样的问题,然后解决了。通常我是由于引导 js 库的“双重导入”。 希望能帮到你。


15
投票
data-target

分配给下拉菜单及其 id


使用

数据目标=“#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>
然后将该 id 分配给菜单

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



4
投票


3
投票

例如:

首先链接 Bootstrap.min.js 文件。

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

然后链接css文件

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

我遇到了同样的问题,更改了 js 和 css 的位置后,下拉菜单运行良好。希望对你有帮助。


2
投票

<div class="filter-dropdown text-right"> <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Edit</button> <div class="dropdown-menu"> <a class="dropdown-item" href="#">Link 1</a> <a class="dropdown-item" href="#">Link 2</a> <a class="dropdown-item" href="#">Link 3</a> </div> </div> $(".filter-dropdown").on("click", ".dropdown-toggle", function(e) { e.preventDefault(); $(this).parent().addClass("show"); $(this).attr("aria-expanded", "true"); $(this).next().addClass("show"); });



2
投票


0
投票


0
投票

event.stopPropagation()

如果你使用Vue

@click.stop='yourMethod()'

© www.soinside.com 2019 - 2024. All rights reserved.