javascript 哪些浏览器支持在input[type=“file”]元素上触发click事件?

yizd12fk  于 2023-04-10  发布在  Java
关注(0)|答案(2)|浏览(154)

根据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();
});

我不是在问还有什么其他的方法可以做得更好,我想知道还有什么浏览器支持像这样的输入文件的点击事件?

mitkmikd

mitkmikd1#

firefox3.2+版本不支持AFAIK,因为如果文件输入被隐藏,则存在一些安全问题,我猜这就是为什么人们会触发单击将文件输入直接放在假元素后面的原因

ee7vknir

ee7vknir2#

我已经运行了一个测试,使用display隐藏了原始文件输入:none并使用jQuery在触发器按钮上运行click事件。
至少适用于:IE7及更高版本、FF 4.0及更高版本、Safari 4.0及更高版本(Win)、Chrome 14.0及更高版本。* 不 * 工作于:FF 3.6及更早。

相关问题