Как гласит заголовок, я хочу, чтобы диалоговое окно «Выбрать файл» открывалось, когда определенный 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')
для ввода файла, похоже, вообще ничего не делает.
(Я понимаю, что это может вызвать проблемы с доступностью, поэтому давайте не будем это обсуждать. Спасибо.)