[英]Bootstrap modal open button requires two clicks to reopen after closing
[英]Menu takes two clicks to open after closing from the body
如果打开菜单,然后通过单击主体上的任意位置将其关闭,则必须单击两次以再次打开它。 我究竟做错了什么? 下面是我的代码。
closeDropdownMenu() {
if (document.querySelector('.mdc-simple-menu--open')) {
document.querySelector('.mdc-simple-menu').classList.remove('mdc-simple-menu--open');
}
}
initializeDropDownMenu() {
const mdmMenuEl = document.querySelector('.js-dropdown-menu');
if (!mdmMenuEl) return;
const mdcMenu = new MDCSimpleMenu(mdmMenuEl);
const menuToggleEL = document.querySelector('.js-dropdown-toggle');
menuToggleEL.addEventListener('click', () => {
mdcMenu.open = !mdcMenu.open;
});
document.querySelector('body').addEventListener('click', () =>
this.closeDropdownMenu()
);
}
我猜这是因为关闭菜单时,您没有将mdcMenu.open
设置为false
,因此下次单击仍然认为mdcMenu.open === true
,它将其设置为false
(并且没有菜单打开)。 但是,再单击一次,将false
设置为true
,然后打开菜单。
将body.click
代码更改为:
document.querySelector('body').addEventListener('click', () => {
mdcMenu.open = false;
this.closeDropdownMenu();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.