这个示例中,为什么 document.activeElement 返回的不是当前处在聚焦状态的元素?

代码在: JS Bin - Collaborative JavaScript Debugging

监听keydown事件,监听到Tab键按下时,输出当前处在聚焦状态的元素。
但不知为什么,输出的总是前一个聚焦过的元素。

img

keydown事件是在tab产生作用改变聚焦状态前触发,自然输出聚焦状态改变前的元素。
你改用keyup事件即可
keyup事件是在聚焦状态改变后触发,就可以输出聚焦状态改变后的元素了。

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

document.addEventListener('keyup', function(e) {
    if(e.keyCode === 9) { //Tab
      console.log(document.activeElement);
  }
})

因为你当前选中的是input呀。蓝色的选择框在input上