我正在从PC上传图像。在Firefox中工作正常。但是在chrome中,无法打开用于选择文件的对话框!我正在使用javascript输入类型的click事件。

这就是我在做什么!

<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

10-07 13:45