0

我从电脑上传图片。它在Firefox中工作正常。但在chrome中,选择文件的对话框不会打开!我在javascript中调用输入类型的click事件。文件上传不能在chrome中工作

这就是我在做什么!

<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); 
+0

不,我没有表单元素。我只是使用HTML,因为我已经显示! – MJQ 2012-07-18 09:48:17

+0

它正在使用'Google Chrome 20.0.1132.57 m' – 2012-07-18 09:52:24

+0

您正在使用哪个版本的Chrome? – 2012-07-18 09:52:46

回答

2

没有浏览器,我知道的,您可以模拟点击一个<input type="file">本身无需用户干预。原因是安全。浏览器要求用户在页面上的某处进行明确的手动点击(用户启动的点击)。但是,一旦发生这种情况,就很容易劫持点击并将其路由到文件输入。这就是你想要做的。

看到我关于这个话题的BLOB文章。它有一个应该工作的演示:http://ericbidelman.tumblr.com/post/14636214755/making-file-inputs-a-pleasure-to-look-at