Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 21.11.2020, 10:19   #1
tovarz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 10
По умолчанию Событие img.onload срабатывает несколько раз

Есть input type="file" accept="image/*". При выборе картинки она отображается в img src="" id='preloadimg'. Если несколько раз подряд выбирать файл, то onload происходит тоже несколько раз и по моему коду несколько раз срабатывает alert. Как сделать, чтобы onload сработало только один раз? Вот код:

Код:
<input type="file" name="image" accept="image/*" id="ifile"><br>
<img src="" alt="Image preview..." id='preloadimg'>
Код:
<script>
$('#ifile').on('change', function () {
    $('#preloadimg').on('load', function (e) { 
        if(this.naturalWidth < 200 || this.naturalHeight < 200){
            URL.revokeObjectURL($('#preloadimg').attr('src'));
            $('#ifile').val('');
            alert('Изображение должно быть не меньше 200px х 200px');
            return false;
        }
    });

    $('#preloadimg').attr('src', URL.createObjectURL(this.files[0]));
});
</script>
tovarz вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подрузка контента при прокрутке срабатывает несколько раз Aleskandr JavaScript, Ajax 0 20.06.2019 15:37
Не срабатывает событие OnActivate Smitt&Wesson C++ Builder 8 03.09.2015 08:01
body onload? А как сделать div.onload? InCun JavaScript, Ajax 10 23.12.2011 10:26
событие onLoad SkrudjMakdak JavaScript, Ajax 1 11.07.2011 02:40
событие элемента img dimonnnn JavaScript, Ajax 5 15.08.2010 17:11


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя