You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap3导航栏三级下拉子菜单点击无响应如何修复

问题核心

Bootstrap 3 原生组件仅支持单层下拉菜单,没有内置多级嵌套下拉的交互逻辑,当前点击二级分类PC无法触发三级菜单展开属于框架默认限制。

修复方案

你需要额外添加自定义CSS和JS代码实现多级下拉功能,具体修改如下:

1. 新增自定义CSS样式

在原有bootstrap.min.css引用之后加入以下样式:

.dropdown-submenu {
  position: relative;
}
.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  border-radius: 0 6px 6px 6px;
}
.dropdown-submenu > a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #ccc;
  margin-top: 5px;
  margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
  border-left-color: #fff;
}

2. 修改HTML结构

给嵌套子菜单的父li元素添加dropdown-submenu类,移除二级分类a标签上的data-toggle="dropdown"属性,修改后的导航部分结构如下:

<ul class="nav navbar-nav">
  <li>
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Platforms<span class="caret"></span></a>
    <ul class="dropdown-menu">
      <!-- 给PC对应的li添加dropdown-submenu类 -->
      <li class="dropdown-submenu">
        <a href="#">PC<span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li><a href="#">game</a></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

3. 补充点击展开交互逻辑

如果需要点击PC分类才展开三级菜单而非hover触发,可以添加以下JS代码:

$(document).ready(function(){
  $('.dropdown-submenu a').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});

完整可运行代码示例

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<style>
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  border-radius: 0 6px 6px 6px;
}
.dropdown-submenu > a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #ccc;
  margin-top: 5px;
  margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
  border-left-color: #fff;
}
</style>
<div class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="row">
      <div class="col-lg-12">
        <div class="navbar-header">
          <button class="navbar-toggle" data-target="#mobile_menu" data-toggle="collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
        </div>
        <div class="navbar-collapse collapse" id="mobile_menu">
          <ul class="nav navbar-nav">
            <li><a href="#" class="dropdown-toggle" data-toggle="dropdown">Platforms<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li class="dropdown-submenu">
                  <a href="#">PC<span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="#">game</a></li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
  $('.dropdown-submenu a').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>

内容的提问来源于stack exchange,提问作者saleh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:09:02