У меня есть элемент метки для входного файла, который имеет событие щелчка по умолчанию, чтобы открыть диалог выбора файла. это для загрузки изображений. После загрузки загруженное изображение отображается внутри метки, и если пользователь хочет изменить фотографию, он нажимает на фотографию (или кнопки-дочерние элементы), и диалог снова открывается. моя проблема в том, что после загрузки изображения, если пользователь нажимает на изображение, диалог не открывается в IE 8 (событие родительской метки по умолчанию). Вот мой код:
<label class="fileinput fileinput-new" data-provides="fileinput" style="cursor: pointer;width: 200px;">
<input type="file" name="photo_2" style="position: absolute;left:-9999px">
<div class="fileinput-preview thumbnail" data-trigger="fileinput" style="width: 200px; height: 130px;background:url(http://localhost/project/assets/images/upload_a_photo.png) no-repeat center center;cursor: pointer">
<img width="190px" height="116px" src="http://localhost/project/uploads/394230a6519aae0d21170d6a409e5010.jpg">
</div>
<button type="button" class="btn btn-default btn-block">Default</button>
<button type="button" class="btn btn-danger btn-block">Primary</button>
</label>
JSBIN:
Он не должен содержать JS-код для вызова родительского события, потому что IE предотвращает изменение входного значения, хотя и таким образом.
Тебе нужно
<label for="ID_OF_YOUR_INPUT_EL" ...
а также
<input type="file" id="ID_OF_YOUR_INPUT_EL" ...