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">
我想切换到可编辑的内容 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">