我想做的是,我使用箭头键将焦点设置到下一个/上一个选项卡。我正在使用JavaScript .focus()
方法将焦点设置为使用ID的元素。
我正在获取活动的标签ID,但是我需要获取上一个和下一个标签ID',以便我可以设置焦点。但我无法获取上一个和下一个标签页的ID]
我尝试时出现Cannot read property 'id' of null
错误。
这是我尝试过的。
initEvents:function(){this.callParent(arguments);
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