我正在使用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>
答案 0 :(得分:12)
&#39; .dropdown菜单&#39;抓住了泡沫。在这种情况下,无需捕获下拉列表中的元素。
e.stopPropagation()可防止事件冒泡DOM树,从而阻止任何父处理程序收到事件通知。
$('.dropdown-menu').on('click', function(e) {
e.stopPropagation();
});