PolyakhAleksandr
@PolyakhAleksandr

ReactJS, событие onChange на input, как определить, что сейчас нажата кнопка 'Backspace', и вернуться на предыдущий input?

Есть 4 inputs максимальная длина у них 2.
Когда мы вводим в inputs значения, потом удаляем, и условие (e.target,value < 1), перепрыгиваем на предвещающий input с помощью, el.previousElementSibling.focus()
Условие:
const regExpValidationInputOnlyNumber = /^[0-9\b]+$/;
if (!event.target.value.length && event.target.value === regExpValidationInputBackspace.test(event.target.value)) {
event.target.previousElementSibling.focus();
console.log('true');
}
Подскажите пожалуйста, что не так пишу. Спасибо!
  • Вопрос задан
  • 677 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kulaeff
Front-end developer
Приведенный вами код будет фокусить предыдущий инпут если текущий инпут пустой и проходит валидацию (wtf?). Вам нужно повесить два обработчика на инпуты: input и keydown. В обработчике keydown вы смотрите, какая клавиша была нажата и, если был нажат backspace, устанавливаете некую булеву переменную, говорящую о том, что надо будет прыгнуть на предыдущий инпут, если текущий инпут станет пустым.

Пример
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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