簡體   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