⊗jsPmDmLNH 359 of 505 menu

Eseménykezelők hozzáadása ciklusban JavaScriptben

Most pedig tanuljuk meg, hogyan adhatunk hozzá tömegesen eseménykezelőket elemekhez. Tegyük fel például, hogy vannak bekezdéseink:

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

Tegyük fel, hogy van egy függvényünk is:

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

Járjuk be bekezdéseinket egy ciklusban, és mindegyik bekezdéshez adjuk hozzá kattintás eseménykezelőként a func függvényt:

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

Menjünk tovább, és tegyük úgy, hogy bármelyik bekezdésre kattintva a bekezdés szövege jelenjen meg. Van azonban egy probléma: a bekezdések száma sok, de az eseménykezelő függvény csak egy. Hogyan különböztethetjük meg a bekezdéseinket az eseménykezelő függvényen belül?

Ebben a this objektum segít - amikor a függvény meghívódik az esemény bekövetkeztekor, ez az objektum arra az elemre fog mutatni, ahol az esemény bekövetkezett. Alakítsuk át a func függvényünk kódját a mondottaknak megfelelően:

function func() { console.log(this.textContent); // kiírjuk a bekezdés szövegét }

Adott a következő függvény:

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

Adottak továbbá input mezők. Tegye meg, hogy bármelyik input mezőből fókuszvesztéskor a fenti függvény fusson le.

Adottak számokkal ellátott bekezdések. Tegye meg, hogy bármelyik bekezdésre kattintva a benne lévő szám négyzetre emelődjen.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás