gpt4 book ai didi

javascript - react : How to shift focus using arrow keys?( TreeView )

转载 作者:行者123 更新时间:2023-11-29 11:02:26 25 4
gpt4 key购买 nike

我正在寻找允许使用箭头键将元素集中在 TreeView 中的解决方案。

目前,我有 treeView (ul) 和 treeNode (li)。每个 treeNode 可能有自己的 treeView 等等。每个 treeNode 都有 tabIndex="0" 属性,以增加使用 Tab 键在 treeView 中导航的可能性。它工作正常。但我想添加键盘箭头支持来做同样的事情。

知道怎么做吗?附言我不想使用任何第 3 方库期望纯 React,JS。

<section>
<header>
{ title }
</header>
<ul>
<li>
<section>
<header>
{ title }
</header>
<ul>
// etc.
</ul>
</section>
</li>
</ul>
<section>

最佳答案

我找到了在 treeView 中移动焦点的解决方案。首先,您应该在树中找到所有节点。然后您可以使用 document.activeElement 找到焦点元素。之后,您就可以在数组节点中找到该项目。 (document.activeElement == nodes[i]) 并记住索引 i。要使用箭头键移动焦点,只需将 eventListener 添加到您的节点并处理它。

例如,要向上移动,您可以这样做:

if(arrowUp) { 元素[i + 1].focus() }

关于javascript - react : How to shift focus using arrow keys?( TreeView ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44805615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com