使用jQuery触发文件输入上的Click事件

时间:2013-01-17 21:34:30

标签: javascript jquery

  

可能重复:
  Jquery trigger file input

我正在开发一款需要用户从一开始就指定文件的应用。我想立即显示文件输入框,而不是要求用户点击上传按钮。

有人可以向我解释为什么第三个选项在我的jsfiddle示例中起作用而其他选项不起作用?官方规格的链接将非常受欢迎。

http://jsfiddle.net/vnS3k/

// Trigger Click Event at Load - Doesn't Work
$('#a').click();

// Trigger Click Event at Timeout - Doesn't Work
window.setTimeout(function() {
    $('#a').click();
}, 3000);

// Trigger Click Event at User Click *On Something Else* - Works
$('#b').click(function() {
    $('#a').click();
});

1 个答案:

答案 0 :(得分:0)

这可能是因为文件输入周围存在安全问题。浏览器不喜欢你搞乱文件输入以防止坏事。所以可能发生的事情是它知道用户点击和jQuery触发点击事件之间的区别。

In JavaScript can I make a "click" event fire programmatically for a file input element?