⊗jsPmOEBUs 428 of 505 menu

Примена спречавања подизања догађаја у JavaScript

Нека унутар једног родитеља имамо дугме и неки блок:

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

Преузмимо референце на наше елементе у променљиве:

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

Нека је наш блок иницијално сакривен:

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

Урадимо тако да при клику на дугме наш блок постане видљив:

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

А сада урадимо тако да при клику на било које место родитеља наш блок поново буде сакривен:

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

Међутим, чека нас неочекивано изненађење: пошто је дугме унутар родитеља, то клик на дугме истовремено значи и клик на родитеља. То значи да ће се прво наш блок приказати, а затим због подизања догађаја активирати руковалац на родитељу и наш блок ће се сакрити.

Ево где нам је корисна могућност да се откаже подизање догађаја: можемо урадити тако да при клику на дугме откажемо подизање, па родитељ неће реагирати на тај клик.

Самостално имплементирајте коректан рад описаног задатка.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј