我正在使用Bootstrap为my website创建一个下拉列表,但我遇到了一些问题。
在我的网站上,如果单击“Select Populations”(选择人群),将出现弹出窗口(仅供参考:点击“提交”会有东西出现在里面)。而且当我点击里面的时候,它总是关闭。我怎么能阻止它这样做呢?我只希望它在点击外面的时候关闭。
下面是我使用的代码:
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: '';
}
于飞:
<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>
3条答案
按热度按时间vngu2lb81#
'.dropdown-menu'
捕获气泡。在这种情况下,不需要捕获下拉列表中的元素。e.stopPropagation()
可防止事件向上冒泡至DOM树形结构,以防止任何父行程常式收到事件的通知。erhoui1w2#
Bootstrap 5现在具有自动关闭功能,您可以在其中配置此行为。
qnzebej03#
在
button
html标记中使用data-bs-toggle
参数。示例:
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false"> Clickable inside</button>
数据b触发值可以是
data-bs-auto-close="true" or "false"
或data-bs-auto-close="outside" or "inside"
我已经在我的代码中试过了,它工作得很好。