connecticum
@connecticum
webdev junior

Как передать стрелочную функцию с параметрами в eventlistener?

Есть стрелочная функция, например:
let myFoo = (param1, param2) => {...}

Как ее передать в event listener c параметрами? Я когда ее передаю, она у меня сразу сама вызывается без клика, вероятно это из-за оператора вызова (), но как тогда передать параметры, если мне нужно ее вызывать каждый раз с разными параметрами в разных обработчиках? Не охота дублировать код.
myBtn.addEventListener ( 'click', myFoo( btn1, btn2) );
  • Вопрос задан
  • 274 просмотра
Решения вопроса 1
@vitstr
Front-end developer
Недостаточно условий, но предполагаю, что вместо myFoo(...) вам нужно передавать анонимную функцию, в которой будет происходить вызов myFoo(...) c нужными вами параметрами.

ЗЫ: вторым аргументом должна передаваться функция, а не ее результат, ну и аргументы все же, как не крути, задаются при вызове функции а не при ее передаче.

как то так:
myBtn.addEventListener ( 'click', function() {
    myFoo( btn1, btn2)
});


Либо возвращайте из myFoo функцию, и юзайте ее аргументы, которые будут в замыкании.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы