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

时间:2014-11-22 13:24:24

标签: 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>

1 个答案:

答案 0 :(得分:2)

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

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

Fiddle

在小提琴中,我还添加了preventDefault()以防止关注#目标,这不是保持子菜单打开所必需的。