У меня есть кнопка, которая вызывает входной файл и открывает браузер файлов, чтобы выбрать файл.Как только файл выбран, я выполняю определенные операции.
Проблема:
Он отлично работает на Chrome, но Microsoft Edge работает некорректно. По моему опыту первые несколько попыток (1,2 или 3)эта функция не указана ниже, но после этого она работает нормально.
$(":file").unbind().change(function () {console.log("file selected");
...
...
}
Приведенный ниже код - именно то, что я использовал для тестирования его на Chrome и Microsoft Edge
function toolbar_click(){
var elem = document.getElementById("myFile");
var count = 0;
if (elem && document.createEvent) {
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", true, false);
elem.dispatchEvent(evt);
}
// dataSource.add({ ProductName: "New Product" });
$(":file").unbind().change(function () {
console.log("file selected");
if (count < 1) {
if (this.files && this.files[0]) {
var reader = new FileReader();
//reader.onload = editViewModel.addFile();
reader.readAsDataURL(this.files[0]);
//$('#showfilenames').append(this.files[0].name + '</br>');
}
}
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" id="myFile" style="display:none" >
</body>
<button class="k-button" id="insertAttachment" onclick="toolbar_click()" > Click to choose file </button>
Есть идеи как это исправить?