В браузерах Chromium, таких как Opera, Chrome и даже IE 11, я могу обнаружить закрытие ввода файла при вызове document.body.onfocus, но это не работает в Firefox, и я не могу найти какой-либо способ сделать этов Firefox.
Код:
const Input = document.createElement('input');
Input.type = 'file';
const ref = {
files: undefined,
hasClosed: false,
};
document.body.onfocus = () => ref.hasClosed = true;
Input.onchange = function () {
ref.files = this.files;
};
document.body.appendChild(Input)
Input.click();
while (ref.files === undefined && !ref.hasClosed) {
delay(100);
} //checks condition every 100ms
//code to upload the file to my database or not
document.body.removeChild(Input);
Это прекрасно работает в Chrome и т. д., но в Firefox событие onfocus никогда не срабатывает, и цикл никогда не заканчивается ...
PS:Я не могу добавить кнопку отправки, все это должно быть сделано без дальнейшего ввода данных пользователем.