Можно
// тут let $activatedFilters = document.querySelectorAll(".chose");
const wrapper = ()=>{
// или тут let $activatedFilters = document.querySelectorAll(".chose");
a.addEventListener("click", () => {
/*-- делает что-то --*/
}
b.addEventListener("click", () => {
/*-- делает что-то --*/
}
}
Но зависит от того, что делают скрипты. Если меняется DOM в процессе работы и, скажем, меняется количество элементов с классом
.chose
то вынесение переменной в вышестоящую область видимости даст не корректный результат, так как в переменную сохранится тот набор элементов, который будет в DOM на момент инициализации переменной, а не вызова функций-обработчиков событий.
Но можно сделать эту операцию дешевле, сохранив в вышестоящей области видимости родительский контэйнер для элементов
.chose
, скажем в переменную
choseCont
. И тогда в функциях обработчках уже обращаться не к
document.querySelectorAll
а к
choseCont.querySelectorAll
, что значительно ускорит поиск по DOM, так как будем искать не во всём дереве, а лишь в определённом элементе.
P.s. для переменной
$activatedFilters
правильнее использовать
const
а не
let
. Если только Вы где-то ниже в коде не переопределяете
саму переменную $activatedFilters