209 of 264 menu

Metoda addEventListener

Metoda addEventListener omogoča dodelitev elementu obravnavalcev dogodkov. Z njeno pomočjo lahko določimo, na primer, kaj naj se zgodi ob kliku gumba ali kaj naj se zgodi pri vnosu besedila v besedilno polje. V prvem parametru podamo vrsto dogodka, v drugem pa funkcijo, ki se bo sprožila po dogodku, določenem v prvem parametru. V tretjem neobveznem parametru podamo karakteristike objekta (once, capture, passive) ali parameter useCapture.

Sintaksa

element.addEventListener('tip dogodka', funkcija, [karakteristike objekta]); ali element.addEventListener('tip dogodka', funkcija, [useCapture]);

Primer

Naredimo tako, da se ob kliku na gumb izpiše sporočilo:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('message'); });

:

Primer

Napišimo kodo, da se ob izgubi fokusa v vnosnem polju izpiše sporočilo z besedilo tega vnosnega polja:

<input id="input" value="text"> let input = document.querySelector('#input'); input.addEventListener('blur', function() { alert(this.value); });

:

Primer

Naredimo tako, da se ob kliku na gumb sporočilo izpiše v konzolo samo enkrat. Za to uporabimo drugi parameter:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { console.log('message'); }, { once: true } );

Primer

Parameter passive prepoveduje klic metode event.preventDefault pri obravnavi dogodka. K prejšnjemu primeru uporabimo metodo event.preventDefault in hkrati določimo v parametru passive vrednost true:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function(event) { event.preventDefault(); console.log('No message'); }, { passive: true } );

Po izvedbi kode bomo videli naslednja sporočila:

'No message'; 'Unable to preventDefault inside passive event listener invocation.'

Primer

Parameter useCapture z vrednostjo true prikazuje širjenje dogodkov od notranjega elementa do zunanjega, pri vrednosti false pa od zunanjega do notranjega elementa. Pri podajanju parametra useCapture se njegovo ime izpusti in zapiše preprosto true ali false. Poglejmo, kako se širijo dogodki v starševskem in podrejenem elementu ob kliku nanje:

<div id="parent">Parent <p id="child">Child</p> </div> #parent{ width: 60px; padding: 10px; border: 1px solid red; text-align: center; } #child{ width: 60px; marging-right: 40px; border: 1px solid blue; text-align: center; } let parent = document.querySelector('#parent'); let child = document.querySelector('#parent'); parent.addEventListener('click', () => alert('parent'), true ); child.addEventListener('click', () => alert('child'), true );

:

Glejte tudi

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni