Функция ожидает передачи самой кнопки:
function setClickedAnswer(button) {
Однако такая кнопка не передается:
answer1.addEventListener("click", setClickedAnswer);
Что это отправлено обработчиком событий по умолчанию является сам объект события , который имеет свойство target
, относящееся к элементу, вызывающему событие. Итак, вы можете сделать это:
if (button.target.id === "option1") {
(повторить, конечно, для других условий)
В качестве альтернативы, если вы предпочитаете, чтобы функция ожидала элемент кнопки, вы можете обернуть функцию вокруг вызова обработчика событий и передать туда элемент:
answer1.addEventListener("click", () => setClickedAnswer(answer1));
или:
answer1.addEventListener("click", function () { setClickedAnswer(answer1); });