替代方案'改变'事件

时间:2017-09-26 07:48:32

标签: javascript html5 events

我正在使用'更改'将文件从浏览器导入frontEnd的事件。我的意思是,为了知道何时使用文件浏览器选择了文件,我正在等待“更改”#39;我的JavaScript代码中的事件。

 /**
* Select a file to import
*  
*  - fn: callback function
**/
function selectFileToImport(fn) {
    var objFile = document.createElement('input');
    objFile.setAttribute('type', 'file');

    objFile.addEventListener('change', function (e) {
        var archivos=e.target.files;
        var archivo=archivos[0];            
         fn(archivo);            
        }, false);

    objFile.click();
}

我的问题是并不总是触发事件更改,所以有时在浏览器对话框中单击“接受”后我没有得到任何结果,所选文件字段为空。它与选择相同的文件无关(我知道'更改'方法仅在字段真正改变时触发)。我已尝试输入'事件输出但不起作用。有人可以给我一个替代方案吗? enter image description here enter image description here

1 个答案:

答案 0 :(得分:-1)

我用Jquery为你写了一个例子:

脚本:

$("document").ready(function(){  
$("#upload").change(function() {
            alert('New File Uploaded!!! the file name is : ' + this.files[0].name );
        });
});

HTML:

<input type="file" id="upload">

http://jsfiddle.net/emilvr/NbGBj/2345/