Ogni volta che ho bisogno di scrivere un pezzo di codice JavaScript che controlla una casella di input, di solito finiscono per fare qualcosa di simile:C'è un evento DOM "contenuto della texbox modificato"?
$("#field").keyup(myHandler).keydown(myHandler).change(myHandler);
Non è perfetto, ma di solito funziona nella maggior parte dei casi, e così mi muovo su . Mi capita solo di avere un po 'di tempo per indagare correttamente. Probabilmente il problema principale è che non cattura le modifiche fatte tramite il mouse (tasto destro del mouse + incolla/taglia). Inoltre, non è proprio quello che voglio. Questo blocca tutti i movimenti del cursore e altri eventi della tastiera, che io non sono veramente interessati a Quindi la domanda è:.
C'è un affidabile evento cross-browser che viene sparato ogni volta dopo il contenuto di un ingresso o textarea cambia?
Durante una ricerca breve, ho trovato gli eventi onpropertychange e DOMAttrModified. Ma a parte il fatto che non funzionano in tutti i browser, non sembrano essere sparati quando si modifica un input o una textarea.
Forse una domanda stupida, ma perché "onchange" non è un'opzione qui? Spara troppo presto? –
Spara troppo tardi; si attiva solo quando la casella di testo viene lasciata. –