Esercitazione JS

JS CASA JS Introduzione JS Dove si va Uscita JS Dichiarazioni JS Sintassi JS Commenti JS Variabili JS JS Let JS Cost Operatori JS JS aritmetica Assegnazione JS Tipi di dati JS Funzioni JS Oggetti JS Eventi JS Corde JS Metodi di stringa JS Ricerca di stringhe JS Modelli di stringhe JS Numeri JS Metodi numerici JS Matrici JS Metodi array JS Ordinamento matrice JS Iterazione dell'array JS Cost. array JS Date JS Formati data JS Metodi di acquisizione della data JS Metodi di impostazione della data JS JS matematica JS Casuale JS booleani Confronti JS Condizioni JS JS Switch Ciclo JS per JS Loop per In Ciclo JS per di JS Loop mentre JS Break Iterabili JS Insiemi JS Mappe JS Tipo JS Conversione del tipo JS JS bit a bit JS RegExp Errori JS Ambito JS JS sollevamento Modalità rigorosa JS JS questa parola chiave Funzione freccia JS Classi JS JS JSON Debug JS Guida allo stile JS Migliori Pratiche JS Errori di JS Prestazioni JS Parole riservate JS

Versioni JS

Versioni JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Storia di JS

Oggetti JS

Definizioni di oggetti Proprietà dell'oggetto Metodi dell'oggetto Visualizzazione di oggetti Accessori per oggetti Costruttori di oggetti Prototipi di oggetti Iterabili di oggetti Insiemi di oggetti Mappe degli oggetti Riferimento all'oggetto

Funzioni JS

Definizioni delle funzioni Parametri di funzione Invocazione di funzione Chiamata di funzione Funzione Applica Chiusure di funzioni

Classi JS

Introduzione alla classe Eredità di classe Classe statica

JS Async

Richiamate JS JS asincrono JS Promesse JS Async/Attendere

JS HTML DOM

DOM Introduzione Metodi DOM Documento DOM Elementi DOM DOM HTML Moduli DOM DOM CSS Animazioni DOM Eventi DOM Ascoltatore di eventi DOM Navigazione DOM Nodi DOM Collezioni DOM Elenchi di nodi DOM

Distinta base del browser JS

Finestra JS Schermo JS Posizione JS Storia di JS Navigatore JS Avviso popup JS JS tempismo Biscotti JS

API Web JS

Introduzione all'API Web API dei moduli Web API Cronologia web API di archiviazione Web API Web Worker API di recupero Web API di geolocalizzazione web

JS AJAX

Introduzione all'Ajax AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

JS JSON

Introduzione JSON Sintassi JSON JSON contro XML Tipi di dati JSON Analisi JSON JSON Stringify Oggetti JSON Matrici JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Selettori jQuery jQuery HTML jQuery CSS jQuery DOM

Grafica JS

Grafica JS Tela JS JS Plotly JS Chart.js Grafico di Google JS JS D3.js

Esempi JS

Esempi JS JS HTML DOM Input HTML JS Oggetti HTML JS Eventi HTML JS Browser JS Editore JS Esercizi JS Quiz J.S Certificato JS

Riferimenti JS

Oggetti JavaScript Oggetti HTML DOM


JavaScript HTML DOM EventListener


Il metodo addEventListener()

Esempio

Aggiungi un listener di eventi che si attiva quando un utente fa clic su un pulsante:

document.getElementById("myBtn").addEventListener("click", displayDate);

Il addEventListener()metodo associa un gestore di eventi all'elemento specificato.

Il addEventListener()metodo collega un gestore di eventi a un elemento senza sovrascrivere i gestori di eventi esistenti.

Puoi aggiungere molti gestori di eventi a un elemento.

È possibile aggiungere molti gestori di eventi dello stesso tipo a un elemento, ovvero due eventi "clic".

Puoi aggiungere listener di eventi a qualsiasi oggetto DOM non solo agli elementi HTML. cioè l'oggetto finestra.

Il addEventListener()metodo semplifica il controllo del modo in cui l'evento reagisce al gorgogliamento.

Quando si utilizza il addEventListener()metodo, JavaScript è separato dal markup HTML, per una migliore leggibilità e consente di aggiungere listener di eventi anche quando non si controlla il markup HTML.

Puoi rimuovere facilmente un listener di eventi usando il removeEventListener()metodo.


Sintassi

element.addEventListener(event, function, useCapture);

Il primo parametro è il tipo di evento (come " click" o " mousedown" o qualsiasi altro evento DOM HTML .)

Il secondo parametro è la funzione che vogliamo chiamare quando si verifica l'evento.

Il terzo parametro è un valore booleano che specifica se utilizzare il bubbling di eventi o l'acquisizione di eventi. Questo parametro è facoltativo.

Nota che non usi il prefisso "on" per l'evento; usa " click" invece di " onclick".


Aggiungi un gestore di eventi a un elemento

Esempio

Avviso "Ciao mondo!" quando l'utente fa clic su un elemento:

element.addEventListener("click", function(){ alert("Hello World!"); });

Puoi anche fare riferimento a una funzione "denominata" esterna:

Esempio

Avviso "Ciao mondo!" quando l'utente fa clic su un elemento:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}


Aggiungi molti gestori di eventi allo stesso elemento

Il addEventListener()metodo consente di aggiungere più eventi allo stesso elemento, senza sovrascrivere gli eventi esistenti:

Esempio

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

Puoi aggiungere eventi di tipo diverso allo stesso elemento:

Esempio

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

Aggiungi un gestore di eventi all'oggetto finestra

Il addEventListener()metodo consente di aggiungere listener di eventi su qualsiasi oggetto DOM HTML come elementi HTML, documento HTML, oggetto finestra o altri oggetti che supportano eventi, come l' xmlHttpRequestoggetto.

Esempio

Aggiungi un listener di eventi che si attiva quando un utente ridimensiona la finestra:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

Passaggio di parametri

Quando si passano i valori dei parametri, utilizzare una "funzione anonima" che chiama la funzione specificata con i parametri:

Esempio

element.addEventListener("click", function(){ myFunction(p1, p2); });

Bubbling di eventi o acquisizione di eventi?

Esistono due modi di propagazione degli eventi nel DOM HTML, il bubbling e l'acquisizione.

La propagazione degli eventi è un modo per definire l'ordine degli elementi quando si verifica un evento. Se si dispone di un elemento <p> all'interno di un elemento <div> e l'utente fa clic sull'elemento <p>, quale evento "clic" dell'elemento deve essere gestito per primo?

Nel bubbling viene gestito prima l'evento dell'elemento più interno e poi quello esterno: viene gestito prima l'evento clic dell'elemento <p>, quindi l'evento clic dell'elemento <div>.

Nell'acquisizione dell'evento più esterno dell'elemento viene gestito prima e poi quello interno: verrà gestito prima l'evento click dell'elemento <div>, quindi l'evento click dell'elemento <p>.

Con il metodo addEventListener() puoi specificare il tipo di propagazione utilizzando il parametro "useCapture":

addEventListener(event, function, useCapture);

Il valore predefinito è false, che utilizzerà la propagazione del bubbling, quando il valore è impostato su true, l'evento utilizza la propagazione dell'acquisizione.

Esempio

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);

Il metodo removeEventListener()

Il removeEventListener()metodo rimuove i gestori di eventi che sono stati collegati con il metodo addEventListener():

Esempio

element.removeEventListener("mousemove", myFunction);

Riferimento oggetto evento DOM HTML

Per un elenco di tutti gli eventi HTML DOM, guarda il nostro completo HTML DOM Event Object Reference .


Mettiti alla prova con gli esercizi

Esercizio:

Utilizzare il eventListenerper assegnare un evento onclick <button>all'elemento.

<button id="demo"></button>

<script>
document.getElementById("demo").("", myFunction);
</script>