如何在内部点击时阻止我的下拉关闭?

时间:2014-04-12 14:25:36

标签: javascript html css twitter-bootstrap

我正在使用Bootstrap创建my website的下拉列表,但我遇到了一些问题。

在我的网站上,如果点击“选择人群”,将出现弹出窗口(仅供参考:单击“提交”将显示其中的内容)。当我点击它内部时,它总是关闭。我怎么能阻止它这样做?我只希望它在场外点击时关闭。

这是我使用的代码:

CSS:

@import url('http://getbootstrap.com/dist/css/bootstrap.css');

.dropdown-menu:before {
  position: absolute;
  top: -7px;
  left: 9px;
  display: inline-block;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-left: 7px solid transparent;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  content: '';
}

.dropdown-menu:after {
  position: absolute;
  top: -6px;
  left: 10px;
  display: inline-block;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  border-left: 6px solid transparent;
  content: '';
}

HTML:

<div class="dropdown">
    <button data-toggle="dropdown" id="submitButton" type="button" id="pops" >Select Populations</button>
    <ul id="popupDropDown" class="dropdown-menu" role="menu" aria-labelledby="dLabel">

    </ul>
</div>

1 个答案:

答案 0 :(得分:12)

&#39; .dropdown菜单&#39;抓住了泡沫。在这种情况下,无需捕获下拉列表中的元素。

e.stopPropagation()可防止事件冒泡DOM树,从而阻止任何父处理程序收到事件通知。

$('.dropdown-menu').on('click', function(e) {
  e.stopPropagation();
});