我有一个用于提交文件的表单输入,我设计了它,因为我不喜欢本机风格.现在,我有一个按钮,当单击它时,它会打开对话框以选择文件.只需单击Firefox和Chrome即可正常工作,但在IE中无法正常工作.按钮需要双击才能在IE中打开对话框.
我尝试使用jQuery单击一次触发双击:
$("input").click(function() { $(this).dblclick(); });
但是,它似乎不起作用.有没有其他方法可以触发IE的双击?
解决方法
答案不是触发dblclick,而是用IE打开文件对话框……对吗?所以我认为解决方案是触发文件输入的点击(将被隐藏?)
$("#formId").find("input[type='file']").trigger('click');
在你的小提琴中,我这样做:
$("input").click(function() { $('input[type="file"]').click(); });
我试试这个
$('input[type="file"]').hide().parent().append($('<span />').attr('class','filebutton').text('Upload')); $(".filebutton").click(function() { $('input[type="file"]').click(); });
有了这个CSS
form { color:#666; } .filebutton { content:'upload'; font:small-caps 15px Georgia; letter-spacing:1px; border-radius:10px; border:1px solid #eee; width:100px; padding:10px; margin:20px; text-align:center; position:absolute; left:0; top:0; z-index:1; background-color:#f8f8f8; } .filebutton:hover { background-color:#f3f3f3!important; color:#c00; cursor : pointer; }
它的工作原理……