gpt4 book ai didi

javascript - 如何将一个或多个变量附加到一个事件监听器?

转载 作者:行者123 更新时间:2023-11-28 11:44:05 27 4
gpt4 key购买 nike

我在 if 语句内有一个事件监听器,用于滑入菜单。

const burger = document.querySelector(".c-brgr");

if (!menuOpen) {
burger.addEventListener('click', function () {
if (!menuOpen) {
nav.classList.add("menu-is-open");
menuOpen = true;
} else {
nav.classList.remove("menu-is-open");
menuOpen = false;
}
});
}

我在 HTML 中还有一个 div,单击它时也可以关闭菜单。我可以再做一个。

const closeArea = document.querySelector(".js-close-area");

if (!menuOpen) {
closeArea.addEventListener('click', function () {
if (!menuOpen) {
// as above
} else {
// "
}
});
}

这一次,我没有使用汉堡,而是使用了其他元素。 关闭区域。然而,这将不必要地重复代码。

有没有一种方法可以为两个 addEventListeners 使用一个 if 语句?

最佳答案

是的,您可以将两者添加到数组中,然后按如下方式循环遍历它们

    const burger = document.querySelector(".c-brgr");
const closeArea = document.querySelector(".js-close-area");

if (!menuOpen) {
[burger, closeArea].forEach(element => {
element.addEventListener('click', function () {
if (!menuOpen) {
// as above
} else {
// "
}
});
}
}

关于javascript - 如何将一个或多个变量附加到一个事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56779631/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com