⊗jsPmOEEB 423 of 505 menu

Poganjanje dogodkov v JavaScript

Predstavljajte si, da imate več medsebojno ugnezdenih blokov:

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

Pridobimo reference na naše div elemente v spremenljivke:

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

In sedaj jim dodelimo poslušalce klikov:

elem1.addEventListener('click', function() { alert('zelena'); }); elem2.addEventListener('click', function() { alert('modra'); }); elem3.addEventListener('click', function() { alert('rdeča'); });

Prikažimo naše bloke na zaslonu z dodanimi CSS stilovi:

Kliknite sedaj na najbolj notranji rdeči blok - in videli boste, kako se bo dogodek najprej sprožil v rdečem bloku, nato v modrem, nato v zelenem. In to je logično, saj s klikom na notranji blok, hkrati kliknete na vse zunanje.

To pomeni, da ko kliknete na najbolj notranji blok, se dogodek klika pojavi najprej v njem, nato se sproži v njegovem staršu, v staršu njegovega starša in tako naprej, dokler ne doseže vrha.

To vedenje se imenuje poganjanje (bubbling) dogodkov - po analogiji z mehurčkom zraka, ki se dviga z dna. Prav tako kot mehurček, se tudi naš dogodek kot bi izplaval na vrh, vsakič ko se sproži na višjih blokih.

Samostojno napišite kodo, ki bo demonstrirala poganjanje dogodkov. Preizkusite na njem poganjanje različnih vrst dogodkov.

Vsi dogodki ne morejo plavati. Eksperimentalno poiščite vsaj en dogodek, ki se ne bo poganjal.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni