onFocus event.which 始终为 0

onFocus event.which is always 0

我想切换到可编辑的内容 div 并做一些事情,因为我正在使用 onFocus="(arguments[0].keyCode ? arguments[0].keyCode : arguments[0].which) === 9",问题是,arguments[0].which/keyCode 是始终为 0,(制表符应为 9)

有什么想法吗?

(是的,这只是被标记为重复,但它不是(至少对于链接的重复))

问题是 onFocus 事件与 key-action 事件不同,因此它不包含该信息。您可以尝试另一种方法,例如监听文档中的 keyup 事件,然后检查您的元素是否在其后获得焦点。这是一个有 2 个输入的工作示例,您可以尝试跳转到第二个输入。

document.addEventListener('keyup', evt => {
  if ((evt.keyCode ? evt.keyCode : evt.which) === 9 && document.querySelector('#input2:focus')) {
    console.log('I WAS TABBED INTO')
  }
})
<input name="asd">
<input id="input2">