我有一个下拉按钮,其中列出了与页面不同部分关联的各种内容。该下拉列表仅适用于手机。
然而,问题是,当我单击它后,下拉列表不会关闭。 有没有办法使其在单击后关闭?我尝试过寻找解决方法,但无法在我的设备上生效。
我也查看了Bootstrap的js本身,并注意到以下代码行:
这是导致它无法关闭的原因吗?有什么解决方法让它工作吗?
编辑:
所以我得到了一些帮助,得到了这个脚本:
然而,问题是,当我单击它后,下拉列表不会关闭。 有没有办法使其在单击后关闭?我尝试过寻找解决方法,但无法在我的设备上生效。
<div id="mobile-dropdown" class="nav2 w" data-spy="affix" data-offset-top="350">
<div class="container">
<div class="pull-left" style="margin-top:3px; margin-right:3px;">Jump to </div>
<div class="pull-left">
<div class="btn-group mob-fl">
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
Categories
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#1">One</a></li>
<li><a href="#2">Two</a></li>
<li><a href="#3">Three</a></li>
<li><a href="#4">Four</a></li>
</ul>
</div>
</div>
</div>
</div>
我也查看了Bootstrap的js本身,并注意到以下代码行:
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
// if mobile we use a backdrop because click events don't delegate
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
}
这是导致它无法关闭的原因吗?有什么解决方法让它工作吗?
编辑:
所以我得到了一些帮助,得到了这个脚本:
$('document').ready(function() {
$("a.dropdown-toggle").click(function(ev) {
$("a.dropdown-toggle").dropdown("toggle");
return false;
});
$("ul.dropdown-menu a").click(function(ev) {
$("a.dropdown-toggle").dropdown("toggle");
return false;
});
});
我的Javascript水平比较弱,如何编辑它才能让它只在“mobile-dropdown” ID div中工作。
目前,我已将我的脚本更新为以下内容:
$('document').ready(function() {
$("#subject_cat_mob .dropdown-toggle").click(function(ev) {
$("#subject_cat_mob .dropdown-toggle").dropdown("toggle");
return false;
});
$("#subject_cat_mob ul.dropdown-menu a").click(function(ev) {
$("#subject_cat_mob .dropdown-toggle").dropdown("toggle");
return false;
});
});
它的效果和我想要的一样。但是下拉框在第一次使用后就无法再次打开。