요소 외부에서 클릭을 감지하는 eventListener를 사용하여 닫는 메뉴가 있습니다.하위 메뉴를 클릭 할 때 메뉴를 열어 두는 방법은 무엇입니까?
그러나 하위 메뉴를 트리거하는 요소를 클릭하면 메뉴가 닫히고 필요하지 않습니다.
여러 가지를 시도했지만 (Stack Overflow 등을 둘러 보았습니다.) 두 가지를 모두 할 수는 없었습니다.
var subButton = document.getElementByClassName('btn-submenu');
을 나는 두 가지를 결합하려는 때문에 메뉴가 열려 : 나는 그것을 클릭하면 전 메뉴를 닫 하위 메뉴 버튼이 지금
window.addEventListener('mouseup', function(event){
var boxmenu = document.getElementById('mainnav-mobi');
if (event.target != boxmenu && event.target.parentNode != boxmenu){
boxmenu.style.display = 'none';
}
});
:
여기에 JS 코드입니다 난 메뉴 또는 하위 메뉴 버튼을 클릭합니다. 여기
는 HTML : 당신이 하위 메뉴 요소를 누르면<nav id="mainnav-mobi" class="mainnav" role="navigation" style="display: none;">
<div class="menu-menu-1-container">
<ul id="menu-menu-1" class="menu">
<li id="menu-item-43" class="">
<a href="">My Account</a><span class="btn-submenu"></span>
<ul class="sub-menu" style="display: none;">
<li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item- object-page menu-item-36">
<a href="">Login</a></li>
</ul>
</li>
<li id="menu-item-55" class="">
<a href=""> link</a></li>
</ul>
</div>
</nav>
감사합니다,하지만 내가 존재에 trying.This 결과를왔다 무엇 :
이 시도 하위 메뉴를 토글 할 수 있지만 바깥 쪽을 클릭하면 메뉴가 닫히지 않습니다. 나는 심지어 클래스에 ID를 붙이고 id ... try Jquery를 호출했다. – timber535
jsfiddle @ timber254를 추가하십시오. – leotesta