【问题标题】:Bootstrap 4 menu not opening other dropdownsBootstrap 4菜单未打开其他下拉菜单
【发布时间】:2020-04-30 04:14:42
【问题描述】:

因为我试图让文本保持链接和下拉切换以打开下拉列表,我已经设法实现了。但它导致 Dropdown-2 切换/打开 Dropdown-1。只有 Dropdown-1 有效。

基本上,无法弄清楚为什么它只打开 Dropdown-1 只打开我点击过的 Dropdown

我正在使用 Bootstrap 4.4.1

你可以在这里看到笔https://codepen.io/cr8tivly/pen/MWavBJr

这是标记

<nav class="navbar navbar-expand-lg navbar-light"> 
  <ul class="row row-cols-4 navbar-nav main relative list-unstyled col-6"> 
    <li class="col nav-item dropdown" data-toggle="dropdown" aria-expanded="false"> 
      <a class="" href="http://google.com">Dropdown-1</a> 
      <ul class="dropdown-menu"> 
        <li>item-1-one</li> 
        <li>item-2-one</li> 
        <li>item-3-one</li> 
        <li>item-4-one</li> 
      </ul> 
    </li> 
    <li class="col nav-item dropdown" data-toggle="dropdown" aria-expanded="false"> 
      <a class="" href="http://google.com">Dropdown-2</a> 
      <ul class="dropdown-menu"> 
        <li>item-1-two</li> 
        <li>item-2-two</li> 
        <li>item-3-two</li> 
        <li>item-4-two</li> 
      </ul> 
    </li> 
    <li class="col"><a href="#">Three</a></li> 
    <li class="col"><a href="#">Four</a></li> 
  </ul> 
</nav> 

【问题讨论】:

    标签: html jquery css twitter-bootstrap


    【解决方案1】:

    问题是data-toggle="dropdown" 应该在a 上。检查documentation here

    代替:

    <li class="col nav-item dropdown" data-toggle="dropdown" aria-expanded="false"> 
      <a>Dropdown-1</a>
    

    用途:

    <li class="col nav-item dropdown" aria-expanded="false"> 
      <a data-toggle="dropdown">Dropdown-1</a>
    

    更新pen here

    【讨论】:

    • 是的,我故意这样做是因为,我希望 + 扩展下拉列表,文本保持链接
    【解决方案2】:

    如果您希望加号打开下拉菜单并使用文本打开链接,您可以这样做:

    <li class="col nav-item">
      <div class="d-flex">
        <a class="btn btn-link" href="http://google.com">Dropdown-2</a> 
        <button class="btn btn-light dropdown" id="d2" data-toggle="dropdown" aria-expanded="false">+</button>
        <ul class="dropdown-menu" aria-labelledby="d2"> 
         <li>item-1-two</li> 
         <li>item-2-two</li>
         <li>item-3-two</li> 
         <li>item-4-two</li> 
        </ul>
      </div> 
    </li>
    

    【讨论】:

    • 是的,我知道您描述的解决方案,但是,因为菜单是从 CMS 生成的,我无法访问整个标记,有点必须使用我的上面已经分享了
    • 好的。然后我猜你可以手动监听li元素中的点击事件,并将“show”类添加到下拉菜单中以显示它。
    • 我想这是一种方法。会试一试。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多