9

可能重复:
在 JavaScript 中,我可以通过编程方式为文件输入元素触发“点击”事件吗?

我天真地尝试了以下方法以使用 JavaScript 以编程方式打开文件选择器(请参见 fiddle here):

<input type='file'>​

<script>
    $(function () {
        $('input').click();
    });
</script>

以上不起作用。如何input type='file'使用 JavaScript 打开文件选择器?

4

2 回答 2

14

出于安全原因,您不能触发对话框,除非它是对某些用户触发事件的响应。例如,您可以通过单击其他元素来触发对话框:

$(function () {
    $(".someElement").click(function () {
        $('#f').click();
    });
});

工作示例

​</p>

于 2012-08-26T21:29:25.543 回答
5

作为一项安全措施,您只能在用户输入时打开此类对话框,例如单击事件(在任何元素上)。您不能随意打开它,例如在页面加载时。

http://jsfiddle.net/fEBFp/2/

于 2012-08-26T21:28:19.337 回答