Como algunos de ustedes ya saben, el evento onchange
de Internet Explorer está fundamentalmente roto antes de la versión 9. En lugar de activarse cuando ocurre un cambio, se dispara cuando el campo de entrada pierde el foco y tiene cambios.¿Cuál es la solución para onchange con entradas de archivo?
Esto condujo a diversas soluciones para casillas de verificación y botones de radio ("utilizar onclick
lugar") y campos de texto ("utilizar keyup
lugar").
Sin embargo, estoy teniendo ese problema para una entrada de archivo, y no puedo entender qué hacer para recibir una notificación de que se ha seleccionado un nuevo archivo, justo después de hacerlo, y no cuando el usuario hace clic en otra parte . No me puedo conectar a un evento de mouse porque no está relacionado con el mouse; y no me puedo conectar a un evento de teclado porque tampoco está relacionado con el teclado.
Estaría dispuesto a usar cosas específicas de IE si puede resolver el problema.
informaciones adicionales:
I utilizan jQuery 1.6 y el método live
para fijar el evento.
$(".upload").live("change", function() { /* stuff here */ });
algunos parlotean sobre este problema aquí: http://stackoverflow.com/questions/2389341/jquery-change-event-to-input-file-on-ie –
http://jsfiddle.net/c8JuC/1/ funciona en IE9 con IE7 emulado. – pimvdb
@pimvdb, uso 'live' porque genero un montón de entradas sobre la marcha, y el evento no se dispara en el momento correcto con él (jquery 1.6). – zneak