Mi piacerebbe eseguire una funzione su ogni modifica di un controllo casella di testo non appena l'utente sta digitando. l'evento .keyup()
va bene per la maggior parte dei casi.evento jQuery dopo aver selezionato un elemento suggerito su una casella di testo?
Tuttavia, i browser (come Chrome o Firefox) possono suggerire voci di completamento automatico per i controlli della casella di testo (probabilmente perché sono noti @name o @id del controllo di input).
Purtroppo, non riesco a far scattare nessuno degli eventi riportati di seguito quando "facendo clic su una voce suggerita". (.keyup() si attiva quando selezionato con la tastiera)
$('input#email')
.click(function() { console.log('click'); })
.keyup(function() { console.log('keyup'); })
.keydown(function() { console.log('keydown'); })
.change(function() { console.log('change'); })
.focus(function() { console.log('focus'); })
.blur(function() { console.log('blur'); });
Per quanto possibile, vorrei evitare di utilizzare un controllo periodico setInterval()
.
C'è un modo per rilevare questo evento "seleziona un suggerimento"?
Ottimo! Grazie per questo (anche se sono un po 'lontano da questo progetto ora). Prendo atto che si attiva quando si fa clic su una voce suggerita (come richiesto) ma non quando si seleziona tramite tastiera. La registrazione del gestore di eventi anche con _keyup_ può essere utile per colmare questa lacuna. – Myobis