Есть ли способ с помощью нажатия клавиши изменить фокус записи ('|') с ввода на другой? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть входы, и я хочу нажать ввод и переключить внимание с первого входа на второй, не используя только мышь.

До сих пор я создал прослушиватель событий на первом входе (jogador1) с событием нажатия клавиши. Внутри я сделал условное условие, если первый вход (jogador1) уже имеет значение, которое является числом, а нажатие клавиши равно 13, тогда следует сделать что-то, что меняется на второй ввод. Это та часть, которую я не знаю.

вот мой код:

let jogador1 = document.querySelector('#jogador1');
let jogador2 =document.querySelector('#jogador2');
let output = document.querySelector('#output');

let button = document.querySelector('#button');

let letsCompareValues = (e) => {
    e.preventDefault();
    let value1 = jogador1.value;
    let value2 = jogador2.value;
    if (value1 === value2 && !isNaN(value1) && !isNaN(value2)) {

        output.innerHTML = 'there is a match';
        return
    } else {

        output.innerHTML ='there is no match';
    }

}

button.addEventListener('click', letsCompareValues);

jogador1.addEventListener('click', function(){
    jogador1.value = '';
    jogador2.value = '';
    output.innerHTML = '';
});

//HERE
jogador1.addEventListener('keypress', function(e){
    var code = e.keyCode;
    if(jogador1.value !== isNaN && code === 13){
        jogador2.focus;

    }
})
   <div>
       <label for="jogador1">Player 1</label>
       <input type="text" id="jogador1">
   </div>
   <div>
       <label for="jogador2">Player 2</label>
       <input type="text" id="jogador2">
   </div>



   <button id="button">JOGAR</button>


1 Ответ

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

Ты рядом. element.focus() - это функция, поэтому для ее вызова вам нужна скобка.

Другие проблемы:

  • Вы ссылаетесь на элемент с идентификатором 'output', но такого элемента нет.
  • Вы используете !== isNaN чтобы проверить, не является ли строка пустой. Вместо этого вы должны использовать str !== '', или, что еще лучше, просто str.
  • Использовать keyEvent.key вместо keyEvent.code.
  • Приведите в порядок свой код, прежде чем просить людей тратить свое время на чтение Это. Это размышление о вас.
  • Используйте минимальные примеры, а не дампы кода, при публикации при переполнении стека.

let jogador1 = document.querySelector('#jogador1');
let jogador2 = document.querySelector('#jogador2');
let output = document.querySelector('#output');

let button = document.querySelector('#button');

let letsCompareValues = (e) => {
  e.preventDefault();
  let value1 = jogador1.value;
  let value2 = jogador2.value;
  if (value1 === value2 && !isNaN(value1) && !isNaN(value2)) {

    output.innerHTML = 'there is a match';
    return
  } else {

    output.innerHTML = 'there is no match';
  }

}

button.addEventListener('click', letsCompareValues);

jogador1.addEventListener('click', function() {
  jogador1.value = '';
  jogador2.value = '';
  output.innerHTML = '';
});

jogador1.addEventListener('keypress', function(e) {
  if (jogador1.value && e.key === 'Enter') {
    jogador2.focus();

  }
})
<div>
  <label for="jogador1">Player 1</label>
  <input type="text" id="jogador1">
</div>
<div>
  <label for="jogador2">Player 2</label>
  <input type="text" id="jogador2">
</div>

<div id="output"></diV>

<button id="button">JOGAR</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...