原文地址
http://clpliuping.diandian.com/post/2012-09-17/40039911290
有过尝试的人都知道,对于input:file的样式难看的处理方法,一般都是透明化input,实际点击的还是input:file,使用js操纵? $("#File").click()?这该是大家都会想到的方法,可是,很不好意思,无法起到作用,经过一番查阅,终于找到js操作呢input:file的方法,很简单
function clp(){ return $("#File").click(); } <button class = "clp" onclick = "clp();">clp</button> <input type="file" id="File" />
只需添加一个return就可以解决这个问题了!
以后,就可以肆意地使用漂亮的图案来替换input:file的位置,而不必使用样式来透明做所谓的假象了!
另外关于 input file的onchange只触发一次的解决方法:使用live绑定change事件即可
$("#inputFile").live("change", function () { var v = $(this).val(); $("#lbl").text(v); });
转载于:https://blog.51cto.com/smartwang/1407603