Я использую window.FileReader для мгновенного предварительного просмотра изображений, которые пользователь хочет загрузить.Изображение по умолчанию не установлено
Я создал this jsFiddle
У меня есть следующие вопросы:
A) Код в строке 63-77, кажется, игнорируется, хотя, когда я печатаю значение «я» в строке 25, я могу видеть (я подозреваю, что он должен иметь какое-то отношение к природе окна. Filereader, но не уверен).
if (i == 0) //if this is the first picture add it as primary too
{
var primaryimage = ' <img id=' + filename + ' height="220" width="220" src=' + this.result + ' /> ';
$('#primary-pic').find('.custom-input-file').hide();
$('#primary-pic').find('p').hide();
$('#primary-pic').append(primaryimage);
$('.custom-input-file').show();
}
B) Если добавить более одного изображения и нажмите кнопку «Установить по умолчанию» по какой-то причине это не похоже на работу последнего изображения, но не знаю, почему.
Благодаря
Во-первых, ваш код сильно вложен и кажется, что вы пропустили какую-то переменную область, такую как 'i' в обработчике' onloadend', который является конечным значением 'i', к тому моменту, когда функция вызывается , Кроме того, вы добавляете обработчик $ (". SetDefault: button") несколько раз. Я бы использовал делегирование событий, если бы я был вами, чтобы обработчик мог быть добавлен только один раз к окружающему элементу. – MasterAM