⊗jsPmOEBUs 428 of 505 menu

Primena zaustavljanja šírenja događaja u JavaScript-u

Neka unutar jednog roditelja imamo dugme i neki blok:

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

Hvatamo reference na naše elemente u promenljive:

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

Neka naš blok inicijalno bude skriven:

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

Učinimo da se na klik dugmeta naš blok pojavi:

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

A sada učinimo da se na klik bilo kog mesta roditelja naš blok sakrije:

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

Međutim, čeka nas iznenađenje: pošto je dugme unutar roditelja, klik na dugme istovremeno znači i klik na roditelja. To znači da će se prvo naš blok pojaviti, a zatim će se zbog šírenja dogadjaja aktivirati obrađivač u roditelju i naš blok će se sakriti.

I tu nam dolazi u pomoć mogućnost da otkažemo šírenje: možemo učiniti da pri kliku na dugme, otkazivanjem šírenja, roditelj ne reaguje na taj klik.

Samostalno implementirajte korektan rad opisanog zadatka.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij