2012-11-19 8 views
6

si prega di notare: Non voglio usare jQuery per questo (altrimenti Mi piace)HTML: come realizzare un vero evento "onchange" in HTML (nessun jquery)?

Problema: Sono venuto a situazione in cui ho bisogno di fare qualche funzione javascript dopo un utente modifica un campo di input (ad esempio, input type = "text"). Così mi sono detto - Mi ricordo di un evento onchange - MAonchange evento viene eseguito dopo che l'utente lascia il campo, ma ho bisogno della funzione da chiamare per esempio ogni volta utente digita un carattere a quel campo. Wowhead mostra bell'esempio di quello che sto cercando di realizzare this (campo con segnaposto "Cerca all'interno di risultati ...")

Sommario: Sto cercando un modo semplice di rilevare REALE onchange evento (not the classic HTML one) e attraverso che chiama una funzione JS mentre non utilizza jQuery?

Grazie in anticipo! :)

+1

Si dovrebbe ascoltare onKeyUp eventi. – Toni

+1

Fai attenzione ad ascoltare gli eventi della tastiera. Ricorda che un utente può tagliare e incollare sul campo usando un dispositivo di puntamento. – Alohci

+0

@Alohci bene questo è davvero un buon punto! Ma Fortunatelly, gli utenti non hanno quasi alcun modo per copiarlo nella mia app :) e il tutto mouse L'ascolto è l'intera questione in sé :) –

risposta

10

Uso onkeyup invece di onchange poi.

+0

YEAH! Questo era ESATTAMENTE quello che stavo cercando! Molte grazie! BTW: Conoscevo questo evento ma non mi aspettavo che si comportasse così in un campo di testo: -O Grazie ancora molto :) –

1

onkeypress provato = "myFunction()" o onkeyup = "myFunction()"?

ci sono anche eventi per onfocus e onblur per entrare e uscire un campo di testo :)

0

Si dovrebbe usare "input" evento. KeyUp e pressione dei tasti non funzionano se un utente ha modificato il valore solo da un mouse.