Vybírání náhodné prvky z pole na událost click nefunguje

0

Otázka

Napsal jsem nějakou otázku, generátor funkcí, které fungují dobře. Pak dal tyto funkce v matici, když uživatel klepne na tlačítko nový dotaz tlačítko je měl vybrat náhodný typ otázky z pole, ale to je jen randomising, když jsem načíst stránku, spíše než klepnutím na tlačítko. Díky předem.

let questionArray =[questionTypeZero, questionTypeOne];
function questionSelector(){
   return questionArray[Math.floor(Math.random()*2)]
};
window.addEventListener('load', questionSelector());
newQuestion.addEventListener('click', questionSelector() );
arrays event-handling events function
2021-11-20 08:44:22
1

Nejlepší odpověď

0

budete muset změnit tento řádek:

newQuestion.addEventListener('click', questionSelector() );

má to být takhle:

newQuestion.addEventListener('click', questionSelector);

dělat tak, jak jste je jako: v okamžiku, kdy JS jde v taht řádek kódu, bude volat funkci, protože (), jak jsem se navrhnout, že to bude volána při události.

také v tomto řádku kódu

window.addEventListener('load', questionSelector());

havo odstranit (), protože je callign funkci, když JS engine je v tom, že řádek kódu, NE, když okno je načten.

Nejsem si jistý, o události z "zatížení" v tom případě jsem obvykle používají 'DOMContentLoaded'

mu řádek kódu, bude vypadat takto:

window.addEventListener('DOMContentLoaded', questionSelector);
2021-11-20 09:08:02

Zkoušel jsem to, ale teď ne otázka se objevuje na všech.
John Yates

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................