2013-08-09 5 views
0

Я пытаюсь запустить пользовательскую функцию, когда она изменилась. Я запускаю вход через кнопку (которая имеет пользовательский стиль). Когда вход запускается кнопкой, событие изменения не срабатывает, однако, если я нажму кнопку «просмотр» на входе, событие срабатывает правильно.IE change event on file input

Есть ли способ исправить это?

Примечание: Я использую делегат, так как вход добавляется динамически.

Вот мои настройки:

$("#parent") 
.delegate(".browse","click",function(){ 
    $(this).siblings("input[type='file']").trigger("click"); 
}) 
.delegate("input[type='file']","change",function(e){ 
    alert("changed"); 
}) 

Вот и скрипка: http://jsfiddle.net/np88n/1/

ответ

0
$("#parent") 
.delegate(".browse","click",function(){ 
    $(this).siblings("input[type='file']").trigger("click"); 
}) 

изменение

$("#parent") 
    .delegate(".browse","click",function(){ 
     $(this).siblings("input[type='file']").trigger("change"); 
    }) 
+0

это вызывает событие изменения до того, как пользователь выбрал файл –