使用JavaScript捕获文件窗口的关闭

set*_*lio 7 javascript filedialog

我正在使用infile来要求用户在他们的机器上浏览文件.如果窗口关闭而未选择文件,是否有办法捕获?
例如,如果单击x.

<input type="file" name="data" id="inFile" size="15" style="display:none" onchange="handleFiles(this)"/>
Run Code Online (Sandbox Code Playgroud)

谢谢

set*_*lio -1

我所做的是:在用户打开窗口后启动计时器,在该定时函数中,我每 0.5 秒检查一次是否已使用布尔变量选择了文件。一旦用户选择文件或发生 HTML5 DnD,我就会停止计时器。我希望这可以帮助别人。

<div id="uploader"><input type="file" name="data" id="inFile" size="15" style="display:none" onchange="handleFiles(this)"/></div>

<button dojoType="dijit.form.Button" id="fileSelect" type="button" onmouseup="browse();">Browse</button> 

var fileselected = false;
function handleFiles(input){
    fileselected = true;
//use input
}

var interval;
function browse(){
    fileselected = false;
    var fileElem = document.getElementById("inFile");
    fileElem.click();
    interval = setInterval(setdiv, 500);

}
function setdiv(){
    if(!fileselected){  
        //do staff until user decides to Dnd or  browse for file again
        clearInterval(interval);
    }   
}
Run Code Online (Sandbox Code Playgroud)