ZdraviiSmisl
@ZdraviiSmisl

Вопрос по фрагменту кода?

В строках 1,2 и 3 мне не понятно почему в onkeydown на документе записывается null? В задании в форме 3 элемента:поле для ввода и 2 кнопки почему фокус в решении автора при использования клавиш shift и tab переходит с последнего элемента на 1й и с 1го на последний игнорируя промежуточный 21 элемент? Когда я нажимаю сочетание клавиш tab и shift или просто tab у меня последовательно фокус переходит по элементам

function complete(value) {
        hideCover();
        container.style.display = 'none';
        document.onkeydown = null; // (1)
        callback(value);
      }

      form.onsubmit = function() {
        var value = form.elements.text.value;
        if (value == '') return false; // игнорировать пустой submit

        complete(value);
        return false;
      };

      form.elements.cancel.onclick = function() {
        complete(null);
      };

      document.onkeydown = function(e) {
        if (e.keyCode == 27) { // escape
          complete(null);
        }
      };

      var lastElem = form.elements[form.elements.length - 1];
      var firstElem = form.elements[0];

      lastElem.onkeydown = function(e) {
        if (e.keyCode == 9 && !e.shiftKey) {
          firstElem.focus(); // (2)
          return false;
        }
      };

      firstElem.onkeydown = function(e) {
        if (e.keyCode == 9 && e.shiftKey) {
          lastElem.focus(); // (3)
          return false;
        }
      };
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы