正如标题所示,我希望'选择文件'对话框在特定input
通过在表单字段使用键盘导航)。默认情况下,只有在单击该字段时才会打开“选择文件”窗口。当通过键盘导航对焦输入[type = file]时,显示浏览器的'选择文件'对话框
我提出了一个页面上JS斌针对此问题:http://jsbin.com/areba/edit
目前,该页面包含以下代码:
<!doctype html>
<html>
<head>
<title>Sandbox</title>
<meta charset="utf-8">
</head>
<body>
<form>
<input type="text">
<input type="file">
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
$(function() {
$('input[type=text]').focus(function() {
$(this).next('input[type=file]').css('background', 'lime').trigger('click');
});
});
</script>
</body>
</html>
正如你可以看到,有一个文本输入和一个文件输入。这个想法是,当文本输入获得焦点时,文件输入会被'点击'或其他任何东西,'选择文件'窗口打开。
.css('background', 'lime')
声明似乎正常工作;然而,在文件输入上调用.trigger('click')
似乎什么都不做。
(我知道这可能会导致访问性问题,所以,请让我们不要讨论,谢谢!)