Alegerea aleatoare a elementelor din matrice faceți clic pe eveniment nu funcționează

0

Problema

Am scris o întrebare generator de funcții care lucrează bine. Apoi pune aceste funcții într-o matrice, atunci când utilizatorul face clic pe nou întrebarea butonul ar trebui să alegeți o întrebare aleatoare tip de matrice, dar este doar de randomizare, când am încărca pagina, mai degrabă decât să faceți clic pe butonul. Mulțumesc în avans.

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

Cel mai bun răspuns

0

trebuie să schimbăm această linie:

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

trebuie să fie așa:

newQuestion.addEventListener('click', questionSelector);

fac cum ai facut tu, este ca în momentul în care JS merge în taht linie de cod se va apela funcția pentru că a (), pe drum am sugerează că va fi numit atunci când evenimentul.

de asemenea, în această linie de cod

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

havo pentru a elimina (), pentru că este callign funcția atunci când JS motorul este în această linie de cod, NU atunci când fereastra este încărcat.

Im nu sunt sigur despre eveniment de "încărcare" în acest caz, eu de obicei folosesc DOMContentLoaded'

mu linie de cod va fi ca aceasta:

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

Am încercat asta, dar acum nici o întrebare apare la toate.
John Yates

În alte limbi

Această pagină este în alte limbi

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