根据https://developer.mozilla.org/en/Using_files_from_web_applications,
从Gecko 2.0(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)开始,您可以隐藏公认的丑陋文件元素,并提供自己的界面来打开文件选择器并显示用户选择的文件。
使用jQuery(使用jQuery):
$('a.upload').click(function(e) {
e.preventDefault();
$('input[type="file"]').click();
});
我不是在问还有什么其他的方法可以做得更好,我想知道还有什么浏览器支持像这样的输入文件的点击事件?
2条答案
按热度按时间mitkmikd1#
firefox3.2+版本不支持AFAIK,因为如果文件输入被隐藏,则存在一些安全问题,我猜这就是为什么人们会触发单击将文件输入直接放在假元素后面的原因
ee7vknir2#
我已经运行了一个测试,使用display隐藏了原始文件输入:none并使用jQuery在触发器按钮上运行click事件。
至少适用于:IE7及更高版本、FF 4.0及更高版本、Safari 4.0及更高版本(Win)、Chrome 14.0及更高版本。* 不 * 工作于:FF 3.6及更早。