javascript - 如何使用javascript获取上一个和下一个兄弟id

标签 javascript extjs

我想做的是,我使用箭头键将焦点设置到下一个/上一个选项卡。 我正在使用 javascript .focus() 方法使用 ID 将焦点设置到元素上。

我正在获取事件选项卡 ID,但我需要获取上一个和下一个选项卡 ID,以便我可以设置焦点。 但我无法获取上一个和下一个选项卡 ID

当我尝试时,出现Cannot read property 'id' of null 错误。

这是我尝试过的。

initEvents: 函数(){ this.callParent(参数);

var keyNav = new Ext.util.KeyMap({
    target: this.el,
    binding: [{
            key: Ext.EventObject.LEFT,
            fn: this.handleKeys.bind(this)
        }, {
            key: Ext.EventObject.RIGHT,
            fn: this.handleKeys.bind(this)
        }
    ],
    scope: this
});

},

handleKeys: function(keyCode, event) {
    var currentElement = event.getTarget(), targetEl = Ext.get(event.getTarget()),currentElementId = event.getTarget().id, nextElement = document.getElementById(currentElementId).nextElementSibling.id,previousElement = document.getElementById(currentElementId).previousElementSibling.id;
    if (event.keyCode === Ext.EventObject.LEFT)
    {
        getElementById(previousElement).focus();
    }
    else if (event.keyCode === Ext.EventObject.RIGHT){
        getElementById(nextElement).focus()
    }
},

选项卡示例 here

最佳答案

如果我做对了,这行得通

elem.previousSibling
elem.nextSibling

关于javascript - 如何使用javascript获取上一个和下一个兄弟id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61457283/

相关文章:

javascript - 我应该在生命周期的哪一点修改我的 Prop ?

javascript - 在 jquery 中从 ajax 请求分配一个值

javascript - .focus() "set focus on a target input"在 Firefox 中不起作用

javascript - 组合框中的默认选定值

javascript - ExtJs 表单字段如何工作

javascript - Sails.js 尝试编辑和更新函数时出错

javascript - AngularJS:当复选框状态(作为过滤器)被代码更改时更新 ng-repeat

extjs - 使用 Ext 的 update() 而不是 dom.innerHTML 的问题

ExtJS:不正确的下拉菜单对齐方式

javascript - 如何在 ExtJs 4 或 3 中编写自定义布局