gpt4 book ai didi

javascript - 通过键盘导航聚焦 input[type=file] 时显示浏览器的 ‘select file’ 对话框

转载 作者:行者123 更新时间:2023-11-30 13:42:06 25 4
gpt4 key购买 nike

正如标题所说,我希望在某个 input 通过在表单字段中切换(使用键盘导航)获得焦点时打开“选择文件”对话框。默认情况下,“选择文件”窗口仅在单击该字段时打开。

我针对这个问题在 JS Bin 上发布了一个页面: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() 事件 - 编辑:尚未。

关于javascript - 通过键盘导航聚焦 input[type=file] 时显示浏览器的 ‘select file’ 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1734478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com