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