首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React:如何使用箭头键转移焦点?(TreeView)

问React:如何使用箭头键转移焦点?(TreeView)
EN

Stack Overflow用户
提问于 2017-06-28 22:38:16
回答 1查看 3.8K关注 0票数 7

我正在寻找解决方案,允许在树状视图内使用箭头键的元素。

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

你知道怎么做吗?附言:我不想使用任何第三方库,除了纯反应,JS。

​

代码语言:javascript
复制
<section>
  <header>
    { title }
  </header>
  <ul>
    <li>
      <section>
        <header>
          { title }
        </header>
        <ul>
          // etc.
        </ul>
      </section>
    </li>
  </ul>
<section>

​

EN

回答 1

Stack Overflow用户

发布于 2017-06-30 17:32:58

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

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

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44805615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档