1

Есть функция которая написана перед обработчиком событий. Когда задаю функцию в обработчик событий он ее вызывает без события. Как это исправить? Пробовал e.preventDefault(); и passive:true - не помогает

let act = () => {...};
card.addEventListener("click", act())

2 Answers2

1

Убрать скобки у act

let act = () => {...};
card.addEventListener("click", act)
  • Попробуйте в функцию act передать параметры. – Andrei Feb 03 '23 at 21:34
  • @Andrei, нафига? – Qwertiy Feb 03 '23 at 21:38
  • @Qwertiy Вопрос первоначально был задан у функции были параметры. Зачем, спросите у автора фу-ции. – Andrei Feb 03 '23 at 21:41
  • @Andrei, даже если там есть параметр, он всё равно сам передастся при этом коде. – Qwertiy Feb 03 '23 at 21:43
  • @Qwertiy Мой вариант более универсален, вдруг кому-то когда-то придется передать какие-то параметры. Тогда как? – Andrei Feb 03 '23 at 21:46
0

Нужно вот так:

let act = (e) => {};
card.addEventListener("click", (e) => act(e))
Andrei
  • 2,098