⊗jsPmOEEE 419 of 505 menu

Element udalosti v objekte Event v JavaScript

Objekt Event tiež umožňuje získať element, v ktorom udalosť nastala. Tento element je obsiahnutý vo vlastnosti target. Načo je to potrebné, keď je tento element obsiahnutý v this?

Vec sa má tak, že this vždy obsahuje element, ku ktorému bola událosť pripojená, zatiaľ čo vlastnosť target - element, na ktorý sa skutočne kliklo. Tento skutočný element sa môže zhodovať s this, alebo nemusí.

Pozrime sa na príklad. Predpokladajme, že máme div a v ňom odsek:

<div id="elem"> <p>text</p> </div>

Pripojíme udalosť k divu, ale klikneme na odsek. Je zrejmé, že kliknutie na odsek predstavuje súčasne aj kliknutie na div, pretože odsek je obsiahnutý v našom dive.

V opísanom prípade to znamená, že vlastnosť target bude obsahovať konečný tag, v ktorom udalosť nastala - teda odsek, a nie div. Presvedčme sa o tom:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function(event) { console.log(event.target); // vypíše náš odsek console.log(this); // vypíše náš div });

Predpokladajme, že máte zoznam ul s tagmi li:

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

:

Pripojte k tagu ul obslužný program kliknutia. V tomto obslužnom programe skontrolujte pomocou vlastnosti tagName, na ktorý tag sa kliklo. Ak bolo kliknutie na tag li - pridajte na koniec textu tohto tagu výkričník. A ak bolo kliknutie na tag ul - vypíšte informáciu o tom do konzoly.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť