209 of 264 menu

Metod addEventListener

Metod addEventListener omogućava dodelu osluškivača događaja na element. Uz njegovu pomoć, možete odrediti, na primer, šta da se radi pri kliku na dugme ili šta da se radi pri unosu teksta u tekstualno polje. U prvom parametru navodimo tip događaja, u drugom - funkciju, koja će se izvršiti nakon događaja navedenog u prvom parametru. U trećem opcionom parametru prosleđujemo karakteristike objekta (once, capture, passive) ili parametar useCapture.

Sintaksa

element.addEventListener('tip događaja', funkcija, [karakteristike objekta]); ili element.addEventListener('tip događaja', funkcija, [useCapture]);

Primer

Hajde da napravimo da se pri kliku na dugme ispiše poruka:

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

:

Primer

Hajde da napišemo kod, da se pri gubitku fokusa na inputu ispisuje poruka sa tekstom iz tog inputa:

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

:

Primer

Hajde da napravimo da se pri kliku na dugme poruka ispiše u konzolu samo jednom. Za ovo ćemo iskoristiti treći parametar:

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

Primer

Parametar passive zabranjuje pozivanje metode event.preventDefault prilikom obrade događaja. Hajde da na prethodni primer primenimo metod event.preventDefault, a takođe navedimo u 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 } );

Posle izvršavanja koda videćemo sledeće poruke:

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

Primer

Parametar useCapture u vrednosti true pokazuje propagaciju (bubbling) događaja od unutrašnjeg elementa ka spoljašnjem, pri vrednosti false - od spoljašnjeg ka unutrašnjem elementu. Pri prosleđivanju parametra useCapture njegovo ime se izostavlja i upisuje se prosto true ili false. Hajde da pogledamo kako se propagiraju događaji u roditeljskom i podređenom elementu pri kliku na njih:

<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 );

:

Pogledajte takođe

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