Javascript ExtJS使用Tab在两个网格之间导航

Javascript ExtJS使用Tab在两个网格之间导航,javascript,extjs,keyboard-navigation,Javascript,Extjs,Keyboard Navigation,我有一个包含两个网格的面板,两个网格都可以使用单元格编辑插件进行编辑。在网格中,用户可以使用tab键在可编辑字段之间移动。但是,我似乎找不到正确的方法来获取tab键,以允许用户从第一个网格中的最后一个可编辑单元移动到第二个网格中的第一个可编辑单元(两个网格之间没有组件)。用户只是停留在第一个网格的最后一个可编辑字段中 我尝试使用FocusManager,但这使键盘导航更加复杂,而不是更少,需要使用箭头键进出每个表单元素和网格 我将此代码添加到父面板: var nav = new Ext.util

我有一个包含两个网格的面板,两个网格都可以使用单元格编辑插件进行编辑。在网格中,用户可以使用tab键在可编辑字段之间移动。但是,我似乎找不到正确的方法来获取tab键,以允许用户从第一个网格中的最后一个可编辑单元移动到第二个网格中的第一个可编辑单元(两个网格之间没有组件)。用户只是停留在第一个网格的最后一个可编辑字段中

我尝试使用FocusManager,但这使键盘导航更加复杂,而不是更少,需要使用箭头键进出每个表单元素和网格

我将此代码添加到父面板:

var nav = new Ext.util.KeyNav(Ext.getDoc(), {
tab: function(e) {
console.debug('TAB HIT!', arguments);
},
scope: this
});
nav.enable();
只是为了查看检测到了哪些选项卡,但它只有在单击tab键并且父面板中的表单元素本身具有焦点时才会激活

我想我需要学习一些元素,如何在元素之间传递焦点,以及如何检测网格中的第一个和最后一个元素?或者有什么方法可以内置到ExtJS中?如果您有任何建议或建议,我将不胜感激。

我将使用新的网格面板

为该事件实现一个处理程序,该处理程序检查键类型以及单元格是否是网格中的最后一列,然后在另一个网格中相应行的第一列中启动单元格编辑

您可以从该事件传递的第7个参数中找出它是否是TAB键

您可以从事件传递的第三个参数中找出它是否是网格中的最后一个单元格

rowIndex是第六个参数-使用它可以知道在另一个网格中开始编辑哪一行

顺便说一下,可以使用将事件处理程序添加到组件中

您还可以在API中查找启动单元格编辑所需调用的函数


如果你有更多的代码和可能的赏金,我可能可以得到更具体的,但这是我将如何做的要点。

尝试这个解决方案我看过该插件,但它仍然没有提供我需要的功能。如果在到达第一个面板的最后一个单元格时,将两个面板放入页面(例如,复制JSFIDLE示例中的面板),则无法从键盘选项卡切换到第二个面板的第一个单元格。