He escrito algunas funciones de generador de preguntas que funcionan bien. Luego coloque esas funciones en una matriz, cuando el usuario hace clic en el botón de nueva pregunta, se supone que debe elegir un tipo de pregunta aleatoria de la matriz, pero solo se aleatoriza cuando cargo la página en lugar de hacer clic en el botón. Gracias por adelantado.
let questionArray =[questionTypeZero, questionTypeOne]; function questionSelector(){ return questionArray[Math.floor(Math.random()*2)] }; window.addEventListener('load', questionSelector()); newQuestion.addEventListener('click', questionSelector() );tienes que cambiar esta línea:
newQuestion.addEventListener('click', questionSelector() );tiene que ser de esta manera:
newQuestion.addEventListener('click', questionSelector);hacer la forma en que lo hizo es como: en el momento en que JS entra en esa línea de código, llamará a la función debido a (), en la forma en que sugiero que se llamará cuando el evento.
también en esta línea de código
window.addEventListener('load', questionSelector());havo para eliminar el (), porque está llamando a la función cuando el motor JS está en esa línea de código, NO cuando se carga la ventana.
No estoy seguro del evento de 'cargar', en ese caso suelo usar 'DOMContentLoaded'
mu línea de código será así:
window.addEventListener('DOMContentLoaded', questionSelector);