[英]Picking random elements from array on click event not working
我已经编写了一些可以正常工作的问题生成器函数。 然后将这些函数放入一个数组中,当用户单击新问题按钮时,它应该从数组中选择一个随机问题类型,但它只是在我加载页面而不是单击按钮时随机化。 提前致谢。
let questionArray =[questionTypeZero, questionTypeOne];
function questionSelector(){
return questionArray[Math.floor(Math.random()*2)]
};
window.addEventListener('load', questionSelector());
newQuestion.addEventListener('click', questionSelector() );
你必须改变这一行:
newQuestion.addEventListener('click', questionSelector() );
必须是这样:
newQuestion.addEventListener('click', questionSelector);
做你做的方式就像:在JS进入taht代码行的那一刻,它会因为()而调用function,我建议在事件发生时调用它。
也在这行代码中
window.addEventListener('load', questionSelector());
必须删除 (),因为当 JS 引擎在该行代码中时调用 function,而不是在加载 window 时调用。
在这种情况下,我不确定“加载”事件我通常使用“DOMContentLoaded”
mu 行代码将是这样的:
window.addEventListener('DOMContentLoaded', questionSelector);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.