Задать вопрос
@Rufix

Как стереть из input последний введенный символ?

Делаю калькулятор и хочу сделать, чтобы он реагировал на нажатия клавиш с клавиатуры. Необходимо, чтобы при нажатии на Backspace, удалялся последний символ из инпута.
Скорее всего я даже не близко к ответу, но подскажите, пожалуйста)
document.onkeypress = function (){
	if (event.keyCode === 8) {
		display.value = (???);
	}
}
  • Вопрос задан
  • 1612 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
document.addEventListener('keydown', e => {
  if (e.key === 'Backspace' && e.target !== display) {
    display.value = display.value.slice(0, -1);
    // или
    display.value = display.value.substring(0, display.value.length - 1);
    // или
    display.value = display.value.replace(/.$/, '');
    // или
    display.value = display.value.match(/.*(?=.$)/);
    // или
    display.value = [...display.value].filter((n, i, a) => -~i < a.length).join('');
  }
});
Ответ написан
Stalker_RED
@Stalker_RED
display.value = display.value.slice(0, -1)


И клавиша backspace не генерирует событие keypress, придется использовать keyup или keydown.
Удобено потестить можно здесь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы