Bulma下拉菜单似乎不能在点击时切换。下面是文档中的代码片段:https://bulma.io/documentation/components/dropdown/
<link href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.6.0/css/bulma.min.css" rel="stylesheet"/>
<div class="dropdown is-active">
<div class="dropdown-trigger">
<button class="button" aria-haspopup="true" aria-controls="dropdown-menu">
<span>Dropdown button</span>
<span class="icon is-small">
<i class="fa fa-angle-down" aria-hidden="true"></i>
</span>
</button>
</div>
<div class="dropdown-menu" id="dropdown-menu" role="menu">
<div class="dropdown-content">
<a href="#" class="dropdown-item">
Dropdown item
</a>
<a class="dropdown-item">
Other dropdown item
</a>
<a href="#" class="dropdown-item is-active">
Active dropdown item
</a>
<a href="#" class="dropdown-item">
Other dropdown item
</a>
<hr class="dropdown-divider">
<a href="#" class="dropdown-item">
With a divider
</a>
</div>
</div>
</div>
4条答案
按热度按时间ryevplcw1#
需要使用JavaScript切换
is-active
类。当.dropdown
包含.is-active
时,它会将.dropdown-menu
的display
从none
更改为block
。下面是实现它的基本方法。
第一个
vohkndzv2#
这里有一个完整的解决方案,我使用vanilla JS很好地工作,并确保下拉菜单关闭时,你点击他们或按Esc键。
第一个
3zwjbxry3#
更正上述答案:我添加了closeDropdowns()函数,因为当我们单击第二个菜单时,两个菜单都保持打开状态。
第一个
cnwbcb6i4#
我在docs页面上嗅了嗅javascript源代码侦听器(我不知道他们为什么不把这一点做得更明显tbh),在这里它是为其他任何可能受益的人准备的。
请注意,我在下面注解了一个cookie方面,我没有定义,并抛出了一个错误,似乎对我的目的不重要。