refactor: streamline mobile menu with event delegation
This commit is contained in:
@@ -67,11 +67,12 @@ const initMobileMenu = (): void => {
|
|||||||
closeMenu();
|
closeMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
menu.querySelectorAll<HTMLElement>("a, button").forEach((el) => {
|
menu.addEventListener("click", (event) => {
|
||||||
el.addEventListener("click", () => {
|
const target = event.target;
|
||||||
if (!isMobileViewport()) return;
|
if (!(target instanceof Element)) return;
|
||||||
closeMenu();
|
if (!target.closest("a, button")) return;
|
||||||
});
|
if (!isMobileViewport()) return;
|
||||||
|
closeMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
window.addEventListener("resize", () => {
|
window.addEventListener("resize", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user