Есть меню
// Меню по клику в шапке
document.addEventListener('DOMContentLoaded', () => {
const submenuItem = document.querySelectorAll(".header .menu-item-has-children");
const menuBody = document.querySelector(".header .sub-menu");
submenuItem.forEach((item) => {
item.addEventListener('click', handlerItem);
// слушаем клик вне меню
document.addEventListener("click", function (e) {
const target = e.target;
const its_menu = target == menuBody || menuBody.contains(target);
const its_btnMenu = target == menuBody;
const menu_is_active = item.classList.contains("--show");
if (!its_menu && !its_btnMenu && menu_is_active) {
item.classList.toggle("--show");
}
});
// слушаем скролл
document.addEventListener("scroll", function () {
//убираем класс если произошел скролл
item.classList.remove("--show");
});
});
function handlerItem(e) {
e.preventDefault();
e.stopPropagation();
this.classList.toggle("--show");
};
});
На дочерние ссылки срабатывает preventDefault. Как отменить его для дочерних элементов, не сломая код?