onFocus事件,始终为0

时间:2019-09-15 22:48:13

标签: javascript html focus contenteditable

我想进入一个内容可编辑的div并做一些事情,因为我正在使用onFocus="(arguments[0].keyCode ? arguments[0].keyCode : arguments[0].which) === 9",问题是,arguments [0] .which / keyCode始终为0,(对于标签)

任何想法怎么办?

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

1 个答案:

答案 0 :(得分:1)

问题在于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">