Как получить предыдущий и следующий идентификатор сестры с помощью javascript - PullRequest
0 голосов
/ 27 апреля 2020

То, что я пытаюсь сделать, это то, что я использую клавиши со стрелками, чтобы установить фокус на следующие / предыдущие вкладки. Я использую метод javascript .focus(), чтобы установить фокус на элемент с помощью идентификатора.

Я получаю идентификатор активной вкладки, но мне нужно получить идентификаторы предыдущей и следующей вкладок ' так что я могу установить фокус. но я не могу получить идентификаторы предыдущей и следующей вкладок

я получаю 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()
    }
},

Пример вкладок здесь

1 Ответ

1 голос
/ 27 апреля 2020

Если я правильно понял, это работает

elem.previousSibling
elem.nextSibling
...