Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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]);
                    }
           }
}
Ответить с цитированием
  #2 (permalink)  
Старый 25.07.2014, 17:25
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Этот кусок кода не находится в каком либо цикле?

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

Нет, кусок кода находиться в $(document).ready(function() {Здесь});

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

Спасибо ))) почитал, нашел. Я эту функцию вызываю таки в другой функции... а в конце вложенной функии еще раз вызываю родительскую, стандартная рекурсия и много часов тупняка )))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с change, у select созданным через before copydoc jQuery 8 06.02.2014 10:59
Как вернуть значение change Hol1killer jQuery 19 30.09.2013 08:43
Глюк с математикой demoniqus Общие вопросы Javascript 5 16.08.2012 17:09