navegadores modernos soportan ahora el evento input
, que se dispara después de que el contenido se ha pegado
$('#myid').on('input', function() {
console.log($('#myid').val());
});
Al pegar a una entrada del evento paste
se dispara antes de que el valor no tiene tiempo para actualizar.
Una manera de resolver esto es aplazar el ir a buscar el valor hasta que la entrada ha tenido tiempo para actualizar:
$('#myid').on('paste', function() {
setTimeout(function() {
console.log($('#myid').val());
}, 100);
});
También existe la posibilidad de obtener los datos directamente desde el portapapeles en lugar de partir del valor de los insumos, al acceder a event.clipboardData
, sin embargo, esa técnica es experimental, no se admite en todos los navegadores, y en mi opinión es más hacky que usar el evento input
, o incluso un tiempo de espera simple.
Hay una solución ya [jQuery entrada de pasta de captura] [1] pero eso no me parece muy buena [1]: http : //stackoverflow.com/questions/686995/jquery-catch-paste-input – kingpin
¿Por qué va esto como comentario? – kingpin