Eventos

Me he dado cuenta que el evento onchange no se produce en una textbox hasta que esta pierde el foco. También que si has hecho que se ejecute algo en el onkeypress, primero lo ejecuta y después escribe la letra tecleada.
¿Conoces alguna manera de ejecutar algo justo después de que se haya escrito una tecla en un textbox sin que este tenga que perder el foco?
Gracias
1

1 Respuesta

28.975 pts.
Respecto de los eventos en cajas de texto, existen dos más que pueden resultarte útiles:
OnKeyUp: se ejecuta después de haber "escrito" la letra correspondiente a la tecla pulsada, al "levantar el dedo de la tecla".
OnKeyDown: se ejecuta antes de haber "escrito" la letra correspondiente a la tecla pulsada, al "apretar la tecla".
La secuencia de ejecución es: onKeyDown, onKeyPress y onKeyUp. Antes de cualquiera de estos se ejecutaría el onFocus, y después el onBlur y el onChange (que se ejecuta después de perder el foco si se ha manipulado el contenido de la caja de texto.
Creo que el evento que necesitas es onKeyUp. Pruébalo, y cuéntame si tienes problemas...
Funciona para Navigator, pero en explorer no. ¿Sabes por que puede ser?
El evento onKeyUp es estándar y está definido en la especificación HTML 4.0 del World Wide Web Consortium. Microsoft lo soporta desde Explorer 4.0, y puedes consultar su documentación aquí:
http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onkeyup.asp
Si estás asignándolo desde script a una función, prueba a escribirlo todo en minúsculas (onkeyup): no dejará de funcionar en Netscape, y probablemente (si sólo es eso) funcionará en Explorer.
Si sigues teniendo problemas, pregúntame de nuevo dando detalles de código y qué error exacto aparece.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas