browser moderni supportano ora l'evento input
, che il fuoco dopo che il contenuto è stato incollato
$('#myid').on('input', function() {
console.log($('#myid').val());
});
Quando si incolla ad un ingresso all'evento paste
viene licenziato prima che il valore abbia il tempo di aggiornare.
Un modo per risolvere questo è quello di rinviare il recupero del valore fino a quando l'ingresso ha avuto il tempo di aggiornare:
$('#myid').on('paste', function() {
setTimeout(function() {
console.log($('#myid').val());
}, 100);
});
C'è anche la possibilità di ottenere i dati direttamente dagli appunti, piuttosto che dal valore di input, accedendo a event.clipboardData
, tuttavia tale tecnica è sperimentale, non supportata in tutti i browser e, a mio parere, più hacky rispetto all'utilizzo dell'evento input
o anche di un semplice timeout.
C'è una soluzione già [jquery ingresso pasta di cattura] [1], ma che mi sembra non molto buona [1]: http : //stackoverflow.com/questions/686995/jquery-catch-paste-input – kingpin
Perché questo sta andando come commento ??? – kingpin