我正在开发一款需要用户从一开始就指定文件的应用。我想立即显示文件输入框,而不是要求用户点击上传按钮。
有人可以向我解释为什么第三个选项在我的jsfiddle示例中起作用而其他选项不起作用?官方规格的链接将非常受欢迎。
// 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();
});
答案 0 :(得分:0)
这可能是因为文件输入周围存在安全问题。浏览器不喜欢你搞乱文件输入以防止坏事。所以可能发生的事情是它知道用户点击和jQuery触发点击事件之间的区别。
In JavaScript can I make a "click" event fire programmatically for a file input element?