有没有办法检测文件输入在Firefox关闭?

时间:2019-02-27 14:31:10

标签: javascript firefox

在Opera,Chrome甚至是IE 11等Chromium浏览器中,我可以检测到文件输入的关闭,并调用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:我不能添加一个提交按钮,这一切都必须在用户没有进一步输入的情况下完成。

0 个答案:

没有答案