Выбор случайных элементов из массива при щелчке событие не работает

0

Вопрос

Я написал несколько функций генератора вопросов, которые отлично работают. Затем поместите эти функции в массив, когда пользователь нажимает кнопку "Новый вопрос", он должен выбрать случайный тип вопроса из массива, но он рандомизируется только тогда, когда я загружаю страницу, а не нажимаю кнопку. Заранее спасибо.

let questionArray =[questionTypeZero, questionTypeOne];
function questionSelector(){
   return questionArray[Math.floor(Math.random()*2)]
};
window.addEventListener('load', questionSelector());
newQuestion.addEventListener('click', questionSelector() );
arrays event-handling events function
2021-11-20 08:44:22
1

Лучший ответ

0

вы должны изменить эту строку:

newQuestion.addEventListener('click', questionSelector() );

должно быть так:

newQuestion.addEventListener('click', questionSelector);

поступая так, как вы поступили, это похоже на следующее: в тот момент, когда JS войдет в строку кода, он вызовет функцию из-за (), по пути я предлагаю, чтобы она была вызвана, когда произойдет событие.

также в этой строке кода

window.addEventListener('load', questionSelector());

необходимо удалить функцию (), потому что это вызов функции, когда движок JS находится в этой строке кода, а не при загрузке окна.

Я не уверен в событии "загрузка", в этом случае я обычно использую "DOMContentLoaded".

каждая строка кода будет выглядеть так:

window.addEventListener('DOMContentLoaded', questionSelector);
2021-11-20 09:08:02

Я пытался это сделать, но теперь вообще не возникает никаких вопросов.
John Yates

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

Популярное в этой категории

Популярные вопросы в этой категории