⊗jsPmOEEE 419 of 505 menu

Prvek události v objektu Event v JavaScriptu

Objekt Event také umožňuje získat prvek, ve kterém došlo k události. Tento prvek je obsažen ve vlastnosti target. K čemu to je, když je tento prvek obsažen v this?

Věc se má tak, že this vždy obsahuje prvek, ke kterému byla událost připnuta, zatímco vlastnost target - prvek, na který se skutečně kliklo. Tento skutečný prvek se může shodovat s this, ale také nemusí.

Podívejme se na příklad. Předpokládejme, že máme div a uvnitř něj odstavec:

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

Připojme událost k divu, ale klikněme na odstavec. Je zřejmé, že kliknutí na odstavec představuje současně i kliknutí na div, protože odstavec je obsažen v našem divu.

V popsaném případě se stane, že vlastnost target bude obsahovat koncový tag, ve kterém došlo k události - tedy odstavec, a ne div. Přesvědčme se o tom:

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

Předpokládejme, že máte seznam ul s tagy 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>

:

Připojte k tagu ul obslužnou rutinu kliknutí. V této obslužné rutině zkontrolujte pomocí vlastnosti tagName, na který tag bylo kliknuto. Pokud bylo kliknuto na tag li - přidejte na konec textu tohoto tagu vykřičník. A pokud bylo kliknuto na tag ul - vypište informaci o tom do konzole.

Č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