示出了浏览器的“选择文件”对话框通过键盘导航聚焦输入[类型=文件]时
-
20-09-2019 - |
题
正如标题所说,我想,打开“选择文件”对话框时,一定input
通过(使用键盘导航)通过表单字段Tab键获得焦点。默认情况下,“选择文件”窗口仅打开被点击时领域
我把在网页上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')
似乎做什么都没有。
(我知道这可能会导致访问性问题,所以,请让我们不要讨论,谢谢。)
解决方案
这将在IE和Safari(我认为)的工作,而不是在Opera或Firefox,因为他们还没有实现的点击()事件进行文件上传元素 - 编辑:尚未
其他提示
我怀疑你将能够做到激活出于安全原因的对话框。一个真正的click事件有发生,取决于浏览器。
我知道的Flash / Flex的这个要求。
不隶属于 StackOverflow