El addEventListener() El mètode s'utilitza per adjuntar un controlador d'esdeveniments a un element concret. No anul·la els controladors d'esdeveniments existents. Es diu que els esdeveniments són una part essencial del JavaScript. Una pàgina web respon segons l'esdeveniment ocorregut. Els esdeveniments poden ser generats per l'usuari o generats per API. Un escolta d'esdeveniments és un procediment de JavaScript que espera l'ocurrència d'un esdeveniment.
El mètode addEventListener() és una funció integrada de JavaScript . Podem afegir diversos controladors d'esdeveniments a un element concret sense sobreescriure els controladors d'esdeveniments existents.
Sintaxi
element.addEventListener(event, function, useCapture);
Encara que té tres paràmetres, els paràmetres esdeveniment i funció són àmpliament utilitzats. El tercer paràmetre és opcional de definir. Els valors d'aquesta funció es defineixen de la següent manera.
Valors dels paràmetres
esdeveniment: És un paràmetre obligatori. Es pot definir com una cadena que especifica el nom de l'esdeveniment.
Nota: no utilitzeu cap prefix com ara 'activat' amb el valor del paràmetre. Per exemple, utilitzeu 'clic' en lloc d'utilitzar 'onclick'.
funció: També és un paràmetre obligatori. És un Funció JavaScript que respon a l'esdeveniment ocorregut.
millorat per al bucle java
useCapture: És un paràmetre opcional. És un valor de tipus booleà que especifica si l'esdeveniment s'executa en la fase de bombolla o de captura. Els seus valors possibles són veritat i fals . Quan s'estableix en true, el controlador d'esdeveniments s'executa a la fase de captura. Quan es defineix com a fals, el controlador s'executa en la fase de bombolla. El seu valor predeterminat és fals .
Vegem algunes de les il·lustracions de l'ús del mètode addEventListener().
Exemple
És un exemple senzill d'utilitzar el mètode addEventListener(). Hem de fer clic al donat botó HTML per veure l'efecte.
Exemple del mètode addEventListener().
versions d'Android
Feu clic al botó següent per veure l'efecte.
Feu clic a mi document.getElementById('btn').addEventListener('clic', divertit); function fun() { document.getElementById('para').innerHTML = 'Hola món' + '' + 'Benvingut a javaTpoint.com'; }Prova-ho ara
Sortida
Després de fer clic al botó HTML donat, la sortida serà -
Ara, en el següent exemple veurem com afegir molts esdeveniments al mateix element sense sobreescriure els esdeveniments existents.
Exemple
En aquest exemple, estem afegint diversos esdeveniments al mateix element.
Aquest és un exemple d'afegir diversos esdeveniments al mateix element.
Feu clic al botó següent per veure l'efecte.
Feu clic a mi function fun() { alert('Benvingut a javaTpoint.com'); } function fun1() { document.getElementById('para').innerHTML = 'Aquesta és la segona funció'; } function fun2() { document.getElementById('para1').innerHTML = 'Aquesta és la tercera funció'; } var mybtn = document.getElementById('btn'); mybtn.addEventListener('clic', divertit); mybtn.addEventListener('clic', fun1); mybtn.addEventListener('clic', fun2);Prova-ho araSortida
Ara, quan fem clic al botó, es mostrarà una alerta. Després de fer clic al botó HTML donat, la sortida serà -
ordre touch a linux
Quan sortim de l'alerta, la sortida és -
Exemple
En aquest exemple, estem afegint diversos esdeveniments d'un tipus diferent al mateix element.
Aquest és un exemple d'afegir diversos esdeveniments de tipus diferent al mateix element.
Feu clic al botó següent per veure l'efecte.
Feu clic a la funció fun() { btn.style.width = '50px'; btn.style.height = '50px'; btn.style.background = 'groc'; btn.style.color = 'blau'; } function fun1() { document.getElementById('para').innerHTML = 'Aquesta és la segona funció'; } funció fun2() { btn.style.width = ''; btn.style.height = ''; btn.style.background = ''; btn.style.color = ''; } var mybtn = document.getElementById('btn'); mybtn.addEventListener('passar el ratolí', divertit); mybtn.addEventListener('clic', fun1); mybtn.addEventListener('mouseout', fun2);Prova-ho araSortida
Quan movem el cursor sobre el botó, la sortida serà -
Després de fer clic al botó i deixar el cursor, la sortida serà -
Bombolleig d'esdeveniments o captura d'esdeveniments
Ara, entenem l'ús del tercer paràmetre de addEventListener() de JavaScript, és a dir, utilitza Capture.
comparació de cadenes en java
En HTML DOM, Bombolleig i Captura són les dues maneres de propagar l'esdeveniment. Podem entendre aquestes maneres prenent un exemple.
Suposem que tenim un element div i un element paràgraf dins, i estem aplicant el 'clic' esdeveniment a tots dos utilitzant el addEventListener() mètode. Ara la pregunta és fer clic a l'element del paràgraf, l'esdeveniment de clic de quin element es gestiona primer.
Així, en bombolleig, primer es gestiona l'esdeveniment de l'element paràgraf i després es gestiona l'esdeveniment de l'element div. Vol dir que en bombolles, primer es gestiona l'esdeveniment de l'element interior i després es gestionarà l'esdeveniment de l'element més extern.
En Captura primer es gestiona l'esdeveniment de l'element div i després es gestiona l'esdeveniment de l'element paràgraf. Significa que en capturar l'esdeveniment de l'element exterior es gestiona primer, i després es gestionarà l'esdeveniment de l'element més interior.
on és la configuració del navegador
addEventListener(event, function, useCapture);
Podem especificar la propagació mitjançant el utilitza Capture paràmetre. Quan s'estableix com a fals (que és el seu valor predeterminat), l'esdeveniment utilitza la propagació de bombolles i, quan s'estableix en true, hi ha la propagació de captura.
Podem entendre el bombolleig i capturant utilitzant una il·lustració.
Exemple
En aquest exemple, hi ha dos elements div. Podem veure l'efecte bombolla en el primer element div i l'efecte de captura en el segon element div.
Quan fem doble clic a l'element span del primer element div, l'esdeveniment de l'element span es gestiona primer que l'element div. Es diu bombolleig .
Però quan fem doble clic a l'element span del segon element div, l'esdeveniment de l'element div es gestiona primer que l'element span. Es diu capturant .
div{ background-color: lightblue; border: 2px solid red; font-size: 25px; text-align: center; } span{ border: 2px solid blue; } This is a div element. <br> <br> <span id="s2"> This is a span element. </span> document.getElementById('d1').addEventListener('dblclick', function() {alert('You have double clicked on div element')}, false); document.getElementById('s1').addEventListener('dblclick', function() {alert('You have double clicked on span element')}, false); document.getElementById('d2').addEventListener('dblclick', function() {alert('You have double clicked on div element')}, true); document.getElementById('s2').addEventListener('dblclick', function() {alert('You have double clicked on span element')}, true);Prova-ho ara
Sortida
Hem de fer doble clic en els elements específics per veure l'efecte.