_elemento">
HTML
Corpo ( display: griglia; aree modello griglia: "seleziona risultato"; ) select ( area griglia: seleziona; ) .risultato ( area griglia: risultato; )
JavaScript
const selectElement = document.querySelector(".ice-cream"); selectElement.addEventListener("change", (event) => ( const result = document.querySelector(".result"); result.textContent = `Ti piace $(event.target.value)`; ));risultato
elemento di immissione del testo
Per alcuni elementi, tra cui , l'evento di modifica non viene attivato finché il controllo non perde lo stato attivo. Prova a inserire qualcosa nel campo sottostante, quindi fai clic in un altro punto per attivare l'evento.
HTML
JavaScript
const input = document.querySelector("input"); const log = document.getElementById("log"); input.addEventListener("cambia", updateValue); funzione updateValue(e) ( log.textContent = e.target.value; )risultato
Specifiche
Specifica | Stato |
---|---|
Standard di vita HTML La definizione di "cambiamento" in quella specifica. |
Standard di vita |
Compatibilità del browser
La tabella di compatibilità in questa pagina è generata da dati strutturati. Se desideri contribuire ai dati, controlla https://github.com/mdn/browser-compat-data e inviaci una richiesta pull.
Aggiorna i dati di compatibilità su GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cromo | bordo | Firefox | Internet Explorer | musica lirica | safari | visualizzazione web Android | Chrome per Android | Firefox per Android | Opera per Android | Safari su iOS | Samsung Internet | |
modificare | Supporto completo per Chrome Sì | Edge Pieno supporto 12 | Supporto completo per FirefoxSì | IE Pieno supporto Sì | Opera Supporto completoSì | Safari Pieno supporto Sì | WebView Android Pieno supporto Sì | Chrome Android Pieno supporto Sì | Firefox Android Pieno supporto Sì | Opera Android Pieno supporto Sì | Safari iOS Pieno supporto Sì | Samsung Internet Android Pieno supporto Sì |
Leggenda
Supporto totale Supporto totaleI diversi browser non sono sempre d'accordo sull'attivazione di un evento di modifica per determinati tipi di interazione. Ad esempio, la navigazione da tastiera nell'elemento rappresenta un controllo che fornisce un menu di opzioni">
L'evento JavaScript "change" (evento di modifica del modulo) viene chiamato o monitorato.
versione aggiunta: 1.0.change(handler(eventObject))
gestore (oggetto evento)
Tipo: Funzione()
Funzione di gestione degli eventi.
versione aggiunta: 1.4.3.change(, handler(eventObject))
eventData
Tipo: Oggetto
Un oggetto con dati da passare al gestore.
gestore (oggetto evento)
Tipo: Funzione()
Funzione di gestione degli eventi
versione aggiunta: 1.0.modificare()
Questo metodo è l'abbreviazione di .on("change", handler) e .trigger("change").
L'evento di modifica viene generato quando i campi del modulo cambiano. Tiene traccia dei campi ,
Ad esempio, abbiamo il seguente HTML:
Un gestore di eventi può essere allegato in questo modo:
$(".target").change(function() ( alert("Gestione per .change() chiamato."); ));
Ora, quando si modifica il valore dell'elemento select, vedremo un messaggio. Si verificherà anche se altri campi vengono modificati, ma dopo il passaggio ad altri. Se l'elemento perde lo stato attivo e non sono state apportate modifiche, l'evento non viene attivato. Per attivare tu stesso questo evento, è sufficiente chiamare il metodo .change() senza argomenti:
$("#altro").click(function() ( $(".target").change(); ));
Dopo aver eseguito questo codice, vedremo il messaggio dell'elenco precedente. Questa volta lo vedremo due volte, perché. Abbiamo due elementi nella forma.
Esempi:
Esempio: tiene traccia delle modifiche alla casella di selezione.
Imposta un gestore di modifiche per l'elemento del modulo specificato o attiva questo evento. Il metodo ha tre casi d'uso:
gestore (oggetto evento)— una funzione che verrà impostata come gestore. Quando viene chiamato, riceverà un oggetto evento eventObject .
gestore (oggetto evento)- vedi sopra.
eventData— dati aggiuntivi trasmessi all'handler. Devono essere rappresentati da un oggetto nel formato: (fName1:value1, fName2:value2, ...) .
È possibile rimuovere il gestore installato utilizzando il metodo unbind().
Tutte e tre le opzioni per l'utilizzo del metodo sono analoghe ad altri metodi (vedi sopra), quindi tutti i dettagli sull'utilizzo di change() possono essere trovati nella descrizione di questi metodi.
Ricordiamo che l'evento di modifica non si verifica direttamente al momento della modifica, ma solo quando si perde il focus dell'elemento del modulo modificato.
Esempio
// imposta il gestore dell'evento di modifica sull'elemento con id foo$("#pippo" ) .change (funzione () ( avviso ( "L'elemento foo è stato cambiato.") ; } ) ; // chiama l'evento change sull'elemento foo$("#pippo" ).cambia(); // imposta un altro gestore di eventi di modifica, questa volta sugli elementi // con blocco di classe. Passare dati aggiuntivi al gestore$(".block" ) .change (( a: 12 , b: "abc" ) , funzione (eventObject) ( var externalData = "a=" + eventObject.data .a + ", b=" + eventObject.data .b ; avviso ( "Un elemento con blocco di classe è stato modificato."+ "Dati passati a questo gestore eventi: "+ dati esterni); ) ) ;
Si verifica immediatamente dopo la modifica del valore dell'elemento e l'evento onchange si verifica quando l'elemento perde lo stato attivo. Un'altra differenza è che l'evento onchange ha un supporto più ampio del browser e funziona su elementi come
Supporto del browser
Attributo dell'evento | musica lirica | Esploratore | bordo |
|||
---|---|---|---|---|---|---|
modificare | sì | sì | sì | sì | sì | sì |
Sintassi
Esempio di utilizzo
Un esempio di visualizzazione del testo digitato in un elemento sul cambiamento del focus utilizzando l'attributo dell'evento onchange. Nota che se avessimo utilizzato l'attributo evento oninput, il testo sarebbe stato visualizzato immediatamente invece di quando il focus è cambiato.
Digita del testo e rimuovi lo stato attivo dall'elemento:
Digita del testo e rimuovi lo stato attivo dall'elemento:
Un esempio di visualizzazione del valore del tag
Scegli un desiderio dalla lista:
Scegli un desiderio dalla lista:
Desiderio 1 Desiderio 2 Desiderio 3
Diamo un'occhiata a un esempio di modifica della rotazione 2D di un elemento utilizzando la proprietà CSS transform, l'attributo dell'evento onchange HTML e una funzione JavaScript:
Sposta il cursore per ruotare l'elemento:
trasformare: ruotare( 0 gradi);