Detectando cambio de valor de entrada [tipo = texto] en jQuery

Resuelto Jeriko asked hace 13 años • 12 respuestas

Quiero ejecutar una función cada vez que cambia el valor de un cuadro de entrada específico. Casi funciona con $('input').keyup(function), pero no sucede nada al pegar texto en el cuadro, por ejemplo. $input.change(function)solo se activa cuando la entrada está borrosa, entonces, ¿cómo puedo saber inmediatamente si un cuadro de texto ha cambiado de valor?

Jeriko avatar Jan 06 '12 01:01 Jeriko
Aceptado

Actualización - 2021

A partir de 2021, puede utilizar inputevento para todos los cambios de valor de entrada de catering de eventos.

$("#myTextBox").on("input", function() {
   alert($(this).val()); 
});

Respuesta original

solo recuerde que se recomienda 'on' en lugar de la función 'bind', así que siempre intente usar un detector de eventos como este:

$("#myTextBox").on("change paste keyup", function() {
   alert($(this).val()); 
});
Alejandro Silva avatar Jul 20 '2013 06:07 Alejandro Silva

Descripción

Puedes hacer esto usando .bind()el método de jQuery. Consulte jsFiddle .

Muestra

HTML

<input id="myTextBox" type="text"/>

jQuery

$("#myTextBox").bind("change paste keyup", function() {
   alert($(this).val()); 
});

Más información

  • Demostración de jsFiddle
  • jQuery.bind()
dknaack avatar Jan 05 '2012 18:01 dknaack