Моментальна перезапись в js

Вчера сломался на казалось такой элементарной задаче.
Мне нужен input куда влезает всего один символ, каждый последующий символ будет перезаписывать старый.

Вот что я написал:

 input.addEventListener('input', () => {
      if (input.value.length > 1) input.value = ''
    })

У меня выходит лишний шаг: 1)Ввел символ -> 2)Удалил старый -> 3)Ввел новый.

А нужно: 1)Ввел символ -> 2)Одновременно удалил старый и ввел новый.


Ответы (1 шт):

Автор решения: Laukhin Andrey

В обработчик, в качестве аргумента, передается объект с информацией о введенном символе (свойство data). Просто заменяем значение input:

input.addEventListener('input', (e) => {
  input.value = e.data;
});
<input id="input">

→ Ссылка