⊗jsPmOEEB 423 of 505 menu

Event bubbling i JavaScript

Forestil dig, at du har flere blokke indlejret i hinanden:

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

Lad os hente referencer til vores div'er i variabler:

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

Og nu tilføjer vi klik-handlers til dem:

elem1.addEventListener('click', function() { alert('grøn'); }); elem2.addEventListener('click', function() { alert('blå'); }); elem3.addEventListener('click', function() { alert('rød'); });

Lad os vise vores blokke på skærmen ved at tilføje noget CSS:

Klik nu på den mest indvendige røde blok - og du vil se, hvordan begivenheden først udløses i den røde blok, derefter i den blå, derefter i den grønne. Og det er logisk, for når du klikker på den indre blok, klikker du samtidig på alle de ydre blokke.

Det viser sig, at når du klikker på den mest indvendige blok, opstår klikbegivenheden først i den, derefter udløses den i dens forælder, i forælderen til dens forælder og så videre, indtil den når til toppen.

Denne opførsel kaldes bobling (bubbling) af events - i analogi med en luftboble, der stiger op fra bunden. Ligesom boblen, synes vores begivenhed at svæve opad og udløses hver gang på de højere blokke.

Skriv selv kode, som vil demonstrere event bubbling. Test bobling af forskellige typer af begivenheder på den.

Ikke alle begivenheder kan boble. Find eksperimentelt mindst en begivenhed, som ikke vil boble.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis