⊗jsPmOEEB 423 of 505 menu

Bublanie udalostí v JavaScripte

Predstavte si, že máte niekoľko vnorených blokov:

<div id="elem1"> <div id="elem2"> <div id="elem3"></div> </div> </div>

Získame odkazy na naše divy do premenných:

let elem1 = document.querySelector('#elem1'); let elem2 = document.querySelector('#elem2'); let elem3 = document.querySelector('#elem3');

A teraz na ne pridáme obsluhy kliknutí:

elem1.addEventListener('click', function() { alert('zelený'); }); elem2.addEventListener('click', function() { alert('modrý'); }); elem3.addEventListener('click', function() { alert('červený'); });

Zobrazíme naše bloky na obrazovke, pridaním nejakého CSS:

Kliknite teraz na najvnútornejší červený blok - a uvidíte, ako udalosť najprv zbehne v červenom bloku, potom v modrom, potom v zelenom. A to je logické, pretože kliknutím na vnútorný blok zároveň klikáte na všetky vonkajšie.

To znamená, že keď kliknete na najvnútornejší blok, udalosť kliknutia vznikne najprv v ňom, potom sa spustí v jeho rodičovi, v rodičovi jeho rodiča a tak ďalej, kým nedosiahne úplný vrchol.

Toto správanie sa nazýva bublanie (bubbling) udalostí - analogicky s bublinkou vzduchu, ktorá stúpa zo dna. Rovnako ako bublina, naša udalosť akoby vyplávala nahor, zakaždým sa spúšťajúc na vyšších blokoch.

Samostatne napíšte kód, ktorý bude demonštrovať bublanie udalostí. Otestujte na ňom bublanie rôznych typov udalostí.

Nie všetky udalosti dokážu bublať. Experimentálne najdite aspoň jednu udalosť, ktorá nebude bublať.

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ť