我正在从我的电脑上传图像。它在 Firefox 中工作正常,但在 Chrome 中,选择文件的对话框未打开!我正在 Javascript 中调用输入类型的点击事件。
这就是我正在做的事情:
<input type="file" id="fileElem" accept="image/*" style="display:none" >
<div id="fileSelect" class="drop-area">Select some files</div>
这是 JavaScript:
var fileSelect = document.getElementById("fileSelect"),
fileElem = document.getElementById("fileElem");
fileElem.addEventListener("click",function(e){
var files = this.files
handleFiles(files)
},false)
fileSelect.addEventListener("click", function (e) {
fileElem.click();
e.preventDefault();
}, false);
最佳答案
据我所知,没有任何浏览器可以让您模拟点击 <input type="file">
本身无需用户干预。原因是安全。浏览器要求用户在页面上的某个位置进行明确的手动单击(用户启动的单击)。然而,一旦发生这种情况,就可以很容易地劫持点击并将其路由到文件输入。这就是你正在尝试做的事情。
请参阅我关于该主题的 Blob 帖子。它有一个应该可以工作的演示:http://ericbidelman.tumblr.com/post/14636214755/making-file-inputs-a-pleasure-to-look-at
关于javascript - Chrome 中的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538563/