2012-03-21 9 views
7

Estoy trabajando con jquery.El evento de entrada de cambio no se activa en jquery

Y tengo una entrada de texto en un formulario, me gustaría procesar el evento de cambio.

$("#my_input").change(function(){alert('123');}); 

el evento se activa normalmente cuando puedo editar manualmente el campo, pero cuando cambio el valor del campo con un guión (a veces con un script externo) no funciona.

¿hay alguna solución?

y gracias de antemano.

Respuesta

11

El evento de cambio no está diseñado para detectar cambios de programación. Puede activar el evento manualmente la hora de establecer el valor, sin embargo:

$('#my_input').trigger('change'); 

atajo:

$('#my_input').change(); 
+1

¿Hay un evento que se dispara cuando la entrada se cambia programáticamente? – Youcef04

+0

@ Youcef04: No, JavaScript no es compatible con ese tipo de supervisión. Algunos otros lenguajes tienen construcciones que permiten cosas como esta, pero no en JavaScript. – jwueller

+0

muchas gracias, así que no hay necesidad de buscar en otro lado. – Youcef04

0

fuego de forma manual, utilizando una de las dos funciones siguientes:

$('#my_input').trigger('change'); 
$('#my_input').change(); 
0

Puede use live/delegate para enlazar su evento de cambio

$("#my_input").live('change',function(){alert('123');}); 
0

aquí está el código

$("input[type='text']").change(function() { 
    // check input ($(this).val()) for validity here 
}); 
Cuestiones relacionadas