Можно
// тут 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