问题标签 [nextsibling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
37 浏览

javascript - 如何将向上/向下箭头键“映射”到 Tab/Shift Tab?

对于我的 React 应用程序,我想做的就是使用 Tab 和 Shift Tab 的当前功能,但让向上/向下箭头做同样的事情。

我知道你可以用 Reacts "useRef" 和 "focus" 来模拟这种行为,但是我的应用程序将有动态呈现的元素,这些元素总是在变化的。

我正在使用基于用户输入填充递归树的递归组件。我还计划允许子节点顺序是可排序的(按多个字段和排序顺序)。

所以没有(简单的)方法可以知道上一个/下一个元素是哪个“参考”。这使得“ref.current.focus()”几乎无法使用。

但是一旦渲染了 Dom,Tab 和 Shift Tab 就像我想要的那样工作......

...我只想让向上/向下箭头键执行此操作(即向上箭头将执行 Shift Tab 操作,而向下箭头将执行 Tab 操作)。

无论如何以编程方式在 React 应用程序中发送 Tab/Shift Tab 击键?

或者也许在构建 DOM 之后以某种方式将焦点更改为上一个/下一个“兄弟”(即 ref.current.nextSibling.focus())?

我似乎无法使这些方法中的任何一种起作用。