⊗jsPmOEEB 423 of 505 menu

Notikumu uzpeldēšana JavaScript

Iedomājieties, ka jums ir vairāki viens otrā ieguldīti bloki:

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

Iegūsim atsauces uz mūsu div mainīgajos:

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

Un tagad pievienosim tiem klikšķa notikumu apstrādātājus:

elem1.addEventListener('click', function() { alert('zaļš'); }); elem2.addEventListener('click', function() { alert('zils'); }); elem3.addEventListener('click', function() { alert('sarkans'); });

Parādīsim mūsu blokus ekrānā, pievienojot tiem nedaudz CSS:

Tagad noklikšķiniet uz visvairāk iekšējā sarkanā bloka - un jūs redzēsiet, kā notikums vispirms iedarbosies sarkanajā blokā, tad zilajā, tad zaļajā. Un tas ir loģiski, jo, noklikšķinot uz iekšējā bloka, jūs vienlaikus noklikšķināt uz visiem ārējiem.

Tas nozīmē, ka, noklikšķinot uz visvairāk iekšējā bloka, klikšķa notikums rodas vispirms tajā, pēc tam tas iedarbojas tā vecākajā, vecākā vecākajā un tā tālāk, līdz tas sasniedz pašu augšu.

Šādu uzvedību sauc par notikumu uzpeldēšanu (bubbling) - pēc analoģijas ar gaisa burbuļa uzpeldēšanu no apakšas. Tāpat kā burbulis, mūsu notikums it kā uzpeld augšup, katru reizi iedarbodamies uz augstākiem blokiem.

Patstāvīgi uzrakstiet kodu, kas demonstrēs notikumu uzpeldēšanu. Pārbaudiet uz tā dažādu notikumu tipu uzpeldēšanu.

Uzplūst ne visi notikumi. Eksperimentāli atrodiet vismaz vienu notikumu, kas neuzpeldēs.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt