jquery - 当我单击超链接时,父 div 消失了。

标签 jquery html css

谁能解释一下为什么当我点击子菜单时,整个区域都消失了?

你可以在这里看到我的 CSS 和 HTML: http://jsfiddle.net/x7ehtscp/

HTML:

<div id="wrap">



<div class="navbar navbar-inverse" role="navigation">
        <div class="container">
          <div class="navbar-header">

            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar first"></span>
              <span class="icon-bar second"></span>
              <span class="icon-bar third"></span>
            </button>

          </div>
          <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-left ">
              <li><a href="#">Home</a></li>
                  <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Bla</a>
                      <ul class="dropdown-menu">
                  <div class="yamm-content"> <ul class="nav navbar-nav navbar-left"> <li><a href="#">Bla</a></li> <li><a href="#">Bla</a></li> <li><a href="#">Bla</a></li> <li><a href="#">Bla</a></li> </ul></div>
                </li>
              </ul>
              <li><a href="#">Bla</a></li>
              <li><a href="#">Bla</a></li>
            </ul>

        </div><!--/.navbar-collapse -->

      </div>
    </div>

最佳答案

您可以使用 stopPropagation() 来防止子菜单关闭:

$('.dropdown .navbar-left a').click(function(e) {
  e.stopPropagation();
});

Fiddle

在 Fiddle 中,我还添加了 preventDefault() 以防止遵循 # 目标,这不需要保持子菜单打开。

关于jquery - 当我单击超链接时,父 div 消失了。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27077883/

相关文章:

javascript - 使用 render_template 重新渲染不起作用

javascript - 在我的 html 页面上添加阅读更多内容会产生奇怪的行为

html - 如何设置div的宽度

php - 如何设置模态显示基于按钮点击的内容?

html - 如何使元素在移动 View 中堆叠?

javascript - 使用 JavaScript 的 CSS 动画

jquery - Tablesorter 数学小部件使用 data-*

php - 单击按钮时触发 jquery validate()

javascript - 在给定日期上添加两个小时

html - 添加一个带有适合其高度的 anchor 标记的表格单元格