正如標題所示,我希望'選擇文件'對話框在特定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')
似乎什麼都不做。
(我知道這可能會導致訪問性問題,所以,請讓我們不要討論,謝謝!)