如何使用 javascript 获取上一个和下一个兄弟 ID
How to get the previous and next sibling id with javascript
我想做的是,我正在使用箭头键将焦点设置到 next/previous 选项卡。
我正在使用 javascript .focus()
方法将焦点设置到使用 ID 的元素上。
我正在获取活动选项卡 ID,但我需要获取上一个和下一个选项卡 ID,以便我可以设置焦点。
但我无法获得上一个和下一个标签 ID's
我尝试时遇到 Cannot read property 'id' of null
错误。
这是我试过的。
初始化事件:函数(){
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
我想做的是,我正在使用箭头键将焦点设置到 next/previous 选项卡。
我正在使用 javascript .focus()
方法将焦点设置到使用 ID 的元素上。
我正在获取活动选项卡 ID,但我需要获取上一个和下一个选项卡 ID,以便我可以设置焦点。 但我无法获得上一个和下一个标签 ID's
我尝试时遇到 Cannot read property 'id' of null
错误。
这是我试过的。
初始化事件:函数(){ 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