小编rk8*_*785的帖子

获取在 Tab 键后具有焦点的“上一个”元素

我正在研究键盘管理并坚持这个问题,我需要在 Tab 之前找到具有焦点的元素。例如,假设我在 html 中有一个列表,它看起来像

1. Folder button
2. Account button 
3. Setting Button
4. More Button
5. SignOut Button
Run Code Online (Sandbox Code Playgroud)

假设现在具有焦点的元素是帐户按钮。后来我按 Tab 键,焦点移到设置。现在,当我这样做时,document.activeElement我将获得“设置”按钮,但如何获得具有焦点的前一个元素(在本例中为“帐户”按钮)。我所做的当前 hack 是存储具有焦点的元素,并在以后需要时使用它。这种方式的问题是,即使我手动将其焦点移至tabIndex =-1. 请要求任何澄清。提前致谢

这就是我现在通过存储旧值所做的事情,但我想要一种更好的方法。可能是动态的(即当焦点改变时)而不存储它

if(on arrow key events){
oldElementFocus = document.activeElement; //store previous element
do stuff...
}
if(event.keyCode && event.keyCode == 9){
// on tab I want to edit the attributes of the previous element
oldFocusedElement.tabIndex = -1;
}
Run Code Online (Sandbox Code Playgroud)

html javascript focus onfocus

5
推荐指数
1
解决办法
8695
查看次数

标签 统计

focus ×1

html ×1

javascript ×1

onfocus ×1