¿¡Ayuda!? IE9: el evento onChange no se activa cuando el valor se modifica mediante un script onkeydown y las pestañas del usuario se alejan

Tenemos un cuadro de texto numérico personalizado en asp.net. En el evento de entrada, la entrada se verifica en caracteres no válidos y se establece el valor del cuadro de texto. El evento OnChange se maneja para hacer algunas cosas después de que el usuario abandona el cuadro de texto. Esto funciona en Firefox, Chrome e IE8.

En IE9, el evento onchange ya no se activa, después de que el texto se haya configurado en un evento anterior. Este es el problema en resumen:

<input type="text" onKeyDown="this.value=this.value;" onChange="alert('test');" />

En este ejemplo, mple, el evento onChange no se activará en IE9. No importa qué tipo de evento use, OnKeyDown, OnInput, OnPropertyChange o lo que sea. Cuando cambie OnKeyDown a "", se activará OnChange.

¿Alguna idea de por qué esto ya no funciona en IE9 y cómo solucionarlo? ¡Gracias

Update: probé si el 'onChange' se dispara cuando salgo del cuadro de texto con la tecla TAB. El onchange no se dispara en IE9 cuando presiona tabulador, pero se dispara cuando sale del cuadro de texto haciendo clic con el mouse en algún lugar de su formulario.

Entonces, ¿por qué se activa el evento onchange al salir del cuadro de texto con un clic del mouse, pero no presionando la tecla tab?

Respuestas a la pregunta(1)

Su respuesta a la pregunta