Wybór losowych elementów z tablicy po kliknięciu zdarzenie nie działa

0

Pytanie

Napisałem kilka funkcji generatora pytań, które świetnie działają. Następnie umieścić te funkcje w tablicy, gdy użytkownik naciśnie przycisk "Nowe pytanie", powinien wybrać losowy typ pytania z tablicy, ale on рандомизируется tylko wtedy, gdy jestem pobierania stronę, a nie klikam przycisk. Z góry dziękuję.

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

Najlepsza odpowiedź

0

musisz zmienić ten wiersz:

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

powinno być tak:

newQuestion.addEventListener('click', questionSelector);

czyniąc tak, jak zrobiliśmy to wygląda na następujący: w momencie, gdy JS wejdzie w linię kodu, to wywoła funkcję z-za (), po drodze proponuję, aby była wywołana, gdy nastąpi zdarzenie.

również w tej linijce kodu

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

należy usunąć funkcję (), bo to wywołanie funkcji, gdy silnik JS jest w tym wierszu kodu, a nie podczas uruchamiania okna.

Nie jestem pewien w wydarzeniu "pobieranie", w tym przypadku zwykle używam "DOMContentLoaded".

każda linia kodu będzie wyglądać tak:

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

Próbowałem to zrobić, ale teraz w ogóle nie ma żadnych pytań.
John Yates

W innych językach

Ta strona jest w innych językach

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