空格键(键码 32)充当 Enter 键,但在输入字段内除外

Spacebar (keycode 32) to act as Enter key except inside an input field

我正在努力为有视力障碍的用户添加程序的辅助功能。为此,我们使用 Tab 键来浏览页面。例如,用户可以使用空格键作为回车键来打开他们关注的 link。我正在努力使空格键始终以这种方式运行(使用 "e.preventDefault()"),当然在输入字段内时除外。我写了对我来说合乎逻辑的东西,但不起作用。请问有人有什么建议吗?这是我在 javascript 文件中的内容:

var textFieldEntry = document.querySelectorAll('input.field-input');
if (e.key == 'Space' || e.keyCode == 32) {
  if (e.target !== textFieldEntry) {
    e.preventDefault();
    e.target.click();
  };
}

不是答案,旨在向 OP 展示为什么他的功能无法按预期工作并将被删除

var textFieldEntry = document.querySelectorAll('input.field-input');
$(document).on('keydown', function(e){
if (e.key == 'Space' || e.keyCode == 32) {
  console.log("space pressed");
  console.log("e.target", e.target);
  console.log("textFieldEntry", textFieldEntry);
  if (e.target !== textFieldEntry) {
    e.preventDefault();
    e.target.click();
  };
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="field-input"/>
<input class="field-input"/>
<input class="field-input"/>

请纠正我这段文字, 我正在使用 android 浏览器 所以我需要 spacebar 作为物理 spacebar 使用 API,此物理 space 栏实际上本身充当 Enter(从列表到 select)并向文本添加“space”。 它就像一个交互式文本更正

var textFieldEntry = document.querySelectorAll('textarea.field-input');
$(document).on('keyup', function(e){
if (e.key == 'Space' || e.keyup == 229) {
  console.log("space pressed");
  console.log("e.target", e.target);
  console.log("textFieldEntry", textFieldEntry);
  if (e.target !== textFieldEntry) {
    e.preventDefault();
    e.target.click();
  };
}
});