⊗jsPmOEBUs 428 of 505 menu

Anvendelse af stoppelse af event bubbling i JavaScript

Lad os inde i en forælder have en knap og en blok:

<div id="parent"> <button>click me</button> <div id="block"> text </div> </div>

Lad os få referencer til vores elementer i variabler:

let parent = document.querySelector('#parent'); let button = document.querySelector('button'); let block = document.querySelector('#block');

Lad vores blok være skjult fra starten:

#block:not(.active) { display: none; }

Lad os gøre sådan, at ved et klik på knappen bliver vores blok vist:

button.addEventListener('click', function() { block.classList.add('active'); });

Og lad os nu gøre sådan, at ved et klik på ethvert sted i forælderen bliver vores blok skjult:

parent.addEventListener('click', function() { block.classList.remove('active'); });

Vi venter dog en overraskelse: da knappen er placeret inde i forælderen, så betyder et klik på knappen samtidig også et klik på forælderen. Det betyder, at først bliver vores blok vist, og derefter, på grund af event bubbling, udløses forælderens event handler og vores blok bliver skjult.

Det er her, muligheden for at stoppe bubbling bliver nyttig: vi kan gøre sådan, at ved et klik på knappen stopper vi bubbling, så forælderen ikke reagerer på dette klik.

Implementer selv den korrekte funktionalitet for den beskrevne opgave.

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