Показать сообщение отдельно
  #1 (permalink)  
Старый 25.07.2014, 17:09
Интересующийся
Отправить личное сообщение для KlausKater Посмотреть профиль Найти все сообщения от KlausKater
 
Регистрация: 30.08.2013
Сообщений: 19

Глюк с множественным вызовом change()
Здравствуйте уважаемые гуру, очень нужна помощь, уже давно сижу в отладке одной проблемы.
Скрипт срабатывает при вызове селектора файлов, и выбора нескольких файлов. Почему то выбранные файлы дублируются, рандомное количество раз.
В отладке стало понятно, что событие change() вызывается несколько раз для одного селекта. Перебрал все варианты... после отработки данной функции, фокус выполнения смещается куда то в файлы jquery после чего возвращается обратно, еще раз выполнять функцию.
Сломал весь мозг...


$('.fileselecter').change(function(){
     * Вот на этой точке я его ловлю**
            fileselecter = this;
            if (this.files && this.files[0]) {
                 for(var file = 0; file < this.files.length; file++){
                        if(!(this.files[file].type == "image/jpeg" || this.files[file].type == "image/png")){
                            alert('Неправильный тип файла. Нужен .jpeg или .png');
                            continue;
                        }
//                        $(fileselecter).parent().hide();
                        var reader = new FileReader();
                        reader.onload = function (e) {
                            var img = document.createElement('img');
                            $(img).attr('src', e.target.result);
                            img.onload = function() {
                                *Сдесь фотография добавляется к списку фотографий .append() и т.д.*
                            }
                        };
                        reader.readAsDataURL(this.files[file]);
                    }
           }
}
Ответить с цитированием