Javascript Bulma下拉列表未关闭问题
我在我的项目中使用bulma下拉列表。下拉菜单工作正常,但问题是,当我在多个冒号中添加下拉菜单时,当一个冒号打开而另一个冒号打开时,第一个冒号没有关闭,下拉菜单重叠 如果某个类是从下拉列表打开状态分配的,Javascript Bulma下拉列表未关闭问题,javascript,jquery,css,dropdown,bulma,Javascript,Jquery,Css,Dropdown,Bulma,我在我的项目中使用bulma下拉列表。下拉菜单工作正常,但问题是,当我在多个冒号中添加下拉菜单时,当一个冒号打开而另一个冒号打开时,第一个冒号没有关闭,下拉菜单重叠 如果某个类是从下拉列表打开状态分配的,处于活动状态,则当我要打开另一个下拉列表时,它不会删除以前的。处于活动状态类 我怎样才能解决这个问题 $(文档).ready(函数(){ //获取页面上所有不可悬停的下拉列表。 var dropdowns=document.querySelectorAll('.dropdown:not(.
处于活动状态
,则当我要打开另一个下拉列表时,它不会删除以前的。处于活动状态
类
我怎样才能解决这个问题
$(文档).ready(函数(){
//获取页面上所有不可悬停的下拉列表。
var dropdowns=document.querySelectorAll('.dropdown:not(.is hoverable');
如果(dropdowns.length>0){
//对于每个下拉列表,添加事件处理程序以在单击时打开。
下拉菜单.forEach(函数(el){
el.addEventListener('click',函数(e){
如果(!el.classList.contains(“处于活动状态”)){
el.classList.toggle('is-active');
e、 停止传播();
e、 预防默认值();
}
});
});
//如果用户单击外部下拉列表,请将其关闭。
document.addEventListener('click',函数(e){
关闭下拉列表();
});
}
/*
*通过删除'is active'类关闭下拉列表。
*/
函数关闭下拉列表(){
下拉菜单.forEach(函数(el){
el.classList.remove('is-active');
});
}
//如果按下ESC,则关闭下拉列表
document.addEventListener('keydown',函数(事件){
设e=event | | window.event;
如果(e.key=='Esc'| | e.key==='Escape'){
关闭下拉列表();
}
});
});代码>
强>
强>
$(文档).ready(函数(){
//获取页面上所有不可悬停的下拉列表。
var dropdowns=document.querySelectorAll('.dropdown:not(.is hoverable');
如果(dropdowns.length>0){
//对于每个下拉列表,添加事件处理程序以在单击时打开。
下拉菜单.forEach(函数(el){
el.addEventListener('click',函数(e){
$(“.dropdown menu”).toggle();
如果(!el.classList.contains(“处于活动状态”)){
el.classList.toggle('is-active');
e、 停止传播();
e、 预防默认值();
}
});
});
//如果用户单击外部下拉列表,请将其关闭。
document.addEventListener('click',函数(e){
关闭下拉列表();
});
}
/*
*通过删除'is active'类关闭下拉列表。
*/
函数关闭下拉列表(){
下拉菜单.forEach(函数(el){
el.classList.remove('is-active');
});
}
//如果按下ESC,则关闭下拉列表
document.addEventListener('keydown',函数(事件){
设e=event | | window.event;
如果(e.key=='Esc'| | e.key==='Escape'){
关闭下拉列表();
}
});
});
强>
$(文档).ready(函数(){
//获取页面上所有不可悬停的下拉列表。
var dropdowns=document.querySelectorAll('.dropdown:not(.is hoverable');
如果(dropdowns.length>0){
//对于每个下拉列表,添加事件处理程序以在单击时打开。
下拉菜单.forEach(函数(el){
el.addEventListener('click',函数(e){
$(“.dropdown menu”).toggle();
如果(!el.classList.contains(“处于活动状态”)){
el.classList.toggle('is-active');
e、 停止传播();
e、 预防默认值();
}
});
});
//如果用户单击外部下拉列表,请将其关闭。
document.addEventListener('click',函数(e){
关闭下拉列表();
});
}
/*
*通过删除'is active'类关闭下拉列表。
*/
函数关闭下拉列表(){
下拉菜单.forEach(函数(el){
el.classList.remove('is-active');
});
}
//如果按下ESC,则关闭下拉列表
document.addEventListener('keydown',函数(事件){
设e=event | | window.event;
如果(e.key=='Esc'| | e.key==='Escape'){
关闭下拉列表();
}
});
});
当前正在同时打开这两个窗口;错误代码。当我打开一个我想要的,另一个closesOk感谢你的反馈,目前正在同时打开这两个;错误代码。当我打开一个我想要的,另一个关闭谢谢你的反馈
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="dropdown is-right ">
<div class="dropdown-trigger">
<button class="button" aria-haspopup="true" aria-controls="dropdown-menu3">
<span><strong class="fw900">. . .</strong></span>
</button>
</div>
<div class="dropdown-menu" id="dropdown-menu3" role="menu">
<div class="dropdown-content">
<a href="javascript:void(0);" class="dropdown-item" onclick="">Sil</a>
<hr class="dropdown-divider">
<a href="javascript:void(0);" class="dropdown-item" onclick="">Duzenle</a>
<hr class="dropdown-divider">
<a href="javascript:void(0);" class="dropdown-item" onclick="">OnayDurumu</a>
</div>
</div>
</div>
$(document).ready(function() {
// Get all dropdowns on the page that aren't hoverable.
var dropdowns = document.querySelectorAll('.dropdown:not(.is-hoverable)');
if (dropdowns.length > 0) {
// For each dropdown, add event handler to open on click.
dropdowns.forEach(function(el) {
el.addEventListener('click', function(e) {
$(".dropdown-menu").toggle();
if (!el.classList.contains("is-active")) {
el.classList.toggle('is-active');
e.stopPropagation();
e.preventDefault();
}
});
});
// If user clicks outside dropdown, close it.
document.addEventListener('click', function(e) {
closeDropdowns();
});
}
/*
* Close dropdowns by removing `is-active` class.
*/
function closeDropdowns() {
dropdowns.forEach(function(el) {
el.classList.remove('is-active');
});
}
// Close dropdowns if ESC pressed
document.addEventListener('keydown', function(event) {
let e = event || window.event;
if (e.key === 'Esc' || e.key === 'Escape') {
closeDropdowns();
}
});
});