209 of 264 menu

Metoda addEventListener

Metoda addEventListener permite atribuirea de manipulatoare de evenimente unui element. Cu ajutorul ei, poți specifica, de exemplu, ce să se facă la un clic pe un buton sau ce să se facă la tastarea textului într-un câmp text. În primul parametru specificăm tipul evenimentului transmis, în al doilea - funcția care se va executa după evenimentul specificat în primul parametru. În al treilea parametru opțional transmitem caracteristicile obiectului (once, capture, passive) sau parametrul useCapture.

Sintaxă

element.addEventListener('tip eveniment', functie, [caracteristici obiect]); sau element.addEventListener('tip eveniment', functie, [useCapture]);

Exemplu

Să facem ca la un clic pe buton să se afișeze un mesaj:

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

:

Exemplu

Să scriem cod astfel încât la pierderea focusului în input să se afișeze un mesaj cu textul din acel input:

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

:

Exemplu

Să facem ca la un clic pe buton mesajul să se afișeze în consolă doar o singură dată. Pentru aceasta vom folosi al doilea parametru:

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

Exemplu

Parametrul passive interzice apelarea metodei event.preventDefault la manipularea evenimentului. Să aplicăm metodei event.preventDefault din exemplul anterior, și de asemenea să indicăm în parametrul passive valoarea 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 } );

După executarea codului vom vedea următoarele mesaje:

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

Exemplu

Parametrul useCapture cu valoarea true arată bubbling-ul evenimentelor de la elementul interior către exterior, iar cu valoarea false - de la exterior către elementul interior. La transmiterea parametrului useCapture numele acestuia este omis și se scrie simplu true sau false. Să vedem cum bubbling-ul evenimentelor în elementul părinte și copil la clic pe ele:

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

:

Vezi și

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge