⊗jsPmOEEE 419 of 505 menu

Az esemény eleme az Event objektumban JavaScriptben

Az Event objektum lehetővé teszi annak az elemnek a megszerzését is, amiben az esemény bekövetkezett. Ez az elem a target tulajdonságban található. Miért van erre szükség, ha ez az elem a this-ben is megtalálható?

Az igazság az, hogy a this mindig azt az elemet tartalmazza, amelyhez az esemény hozzá volt kötve, míg a target tulajdonság - azt az elemet, amelyre ténylegesen kattintottak. Ez a tényleges elem egybeeshet a this-vel, de nem is feltétlenül.

Nézzünk egy példát. Tegyük fel, hogy van egy div-ünk, és benne egy bekezdés:

<div id="elem"> <p>szöveg</p> </div>

Kössünk eseményt a div-hez, de kattintsunk a bekezdésre. Nyilvánvaló, hogy a bekezdésre kattintás egyben a div-re kattintást is jelent, mivel a bekezdés a div-ünkben található.

A leírt esetben kiderül, hogy a target tulajdonság a végső tag-et fogja tartalmazni, amiben az esemény bekövetkezett - vagyis a bekezdést, és nem a div-et. Győződjünk meg erről:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // kiírja a bekezdésünket console.log(this); // kiírja a div-ünket });

Tegyük fel, hogy van egy ul listája li tag-ekkel:

ul { padding: 30px; border: 1px solid red; } li { list-style-type: none; margin-bottom: 20px; border: 1px dashed black; } <ul id="elem"> <li>szöveg</li> <li>szöveg</li> <li>szöveg</li> <li>szöveg</li> <li>szöveg</li> </ul>

:

Kössön egy kattintáskezelőt a ul tag-hez. Ebben a kezelőben ellenőrizze a tagName tulajdonság segítségével, hogy melyik tag-re kattintottak. Ha a kattintás egy li tag-en volt - adjon hozzá egy felkiáltójelet a tag szövegéhez. Ha viszont a kattintás a ul tag-en volt - írja ki erről az információt a konzolra.

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