⊗jsPmDmLNH 359 of 505 menu

Přidávání obslužných rutin ve smyčce v JavaScriptu

Nyní se naučme hromadně přidávat obslužné rutiny událostí prvkům. Předpokládejme například, že máme odstavce:

<p>text1</p> <p>text2</p> <p>text3</p>

Předpokládejme také, že máme funkci:

function func() { console.log('!'); }

Projděme naše odstavce ve smyčce a každému odstavci přidejme jako obslužnou rutinu kliknutí funkci func:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); }

Pojďme dál a udělejme to, aby při kliknutí na jakýkoli odstavec byl vypsán text tohoto odstavce. Existuje však problém: odstavec je mnoho, ale obslužná rutina je pouze jedna. Jak tedy uvnitř obslužné rutiny rozlišíme naše odstavce?

S tím nám pomůže objekt this - při volání funkce v okamžiku události tento objekt bude ukazovat na ten prvek, kde k této události došlo. Upravme kód naší funkce func v souladu s výše uvedeným:

function func() { console.log(this.textContent); // vypíšeme text odstavce }

Je dána následující funkce:

function func() { this.value = Number(this.value) + 1; }

Jsou také dány vstupní pole. Zařiďte, aby při ztrátě fokusu v kterémkoli z našich vstupních polí byla provedena výše uvedená funkce.

Jsou dány odstavce s čísly. Zařiďte, aby při kliknutí na jakýkoli odstavec bylo číslo v něm umocněno na druhou.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout