繁体   English   中英

在单击事件上从数组中选择随机元素不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM