我需要一个解决方案,以显示在超文本标记语言打开的文件对话框,同时单击一个div
。单击div
时,必须打开打开文件对话框。
我不想将输入文件框显示为HTML页面的一部分。它必须显示在单独的对话框中,该对话框不是网页的一部分。
发布于 2010-01-12 18:05:25
这里有一个很好的
它本身就是一个<input type='file' />
控件。但是把div放在上面,并应用css样式来获得这种感觉。文件控件的不透明度设置为0,以便在div上单击时显示对话框窗口打开。
发布于 2012-09-15 18:14:01
$("#logo").css('opacity','0');
$("#select_logo").click(function(e){
e.preventDefault();
$("#logo").trigger('click');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="select_logo">Select Logo</a> <input type="file" id="logo">
对于IE,添加以下内容:
$("#logo").css('filter','alpha(opacity = 0');
发布于 2014-07-16 16:50:36
实际上,你不需要所有那些不透明,可见性,<input>
样式等等的东西,只要看一看:
<a href="#">Just click me.</a>
<script type="text/javascript">
$("a").click(function() {
// creating input on-the-fly
var input = $(document.createElement("input"));
input.attr("type", "file");
// add onchange handler if you wish to get the file :)
input.trigger("click"); // opening dialog
return false; // avoiding navigation
});
</script>
jsFiddle上的演示。在Chrome 30.0和Firefox 24.0中测试。然而,在Opera 12.16中不起作用。
https://stackoverflow.com/questions/2048026
复制相似问题