La cueillette aléatoire des éléments de la matrice sur l'événement click ne fonctionne pas

0

La question

J'ai écrit quelques question générateur de fonctions qui fonctionnent très bien. Ensuite, mettre ces fonctions dans un tableau, lorsque l'utilisateur clique sur le nouveau bouton de question qu'il est censé choisir une question au hasard, le type de la table, mais c'est seulement le choix au hasard, lorsque je charge la page, plutôt que de cliquer sur le bouton. Merci à l'avance.

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

La meilleure réponse

0

vous devez modifier cette ligne:

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

a à être de cette façon:

newQuestion.addEventListener('click', questionSelector);

faire le chemin que vous avez fait, c'est comme: au moment où le JS va dans taht ligne de code, il va appeler la fonction en raison de la (), sur le chemin je suggère qu'elle sera appelée lorsque l'événement.

également dans cette ligne de code

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

havo pour enlever les (), parce que c'est callign la fonction lors de la JS moteur est dans la ligne de code, PAS quand la fenêtre est chargé.

Je ne suis pas sûr au sujet de l'événement de la "charge" dans ce cas, j'ai l'habitude de utiliser "DOMContentLoaded'

mu ligne de code sera comme ceci:

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

J'ai essayé, mais maintenant, aucune question n'est diffusée.
John Yates

Dans d'autres langues

Cette page est dans d'autres langues

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