Как разрешить в input вводить только один русский символ и работало Ctrl + Z
Как мне сделать так, чтобы работало сочетание клавиш Ctrl + Z, после того, как я ввёл русский символ?
Сейчас у меня это сочетание клавиш не убирает введенный символ, если после ввода русского символа попробовать ввести любой другой символ
edit.addEventListener('input', function(e) {
if (!e.target.value.match(/[а-яА-ЯёЁ]+/)) {
e.target.value = '';
}
if (e.target.value.length > 1) {
e.target.value = e.target.value[0];
}
});
<input id="edit" placeholder="Введите букву!">
Ответы (1 шт):
Автор решения: Leonid
→ Ссылка
Если стоит русская раскладка, то 'я'?
let edit = document.getElementById('edit');
edit.addEventListener('input', function(e) {
if (!e.target.value.match(/[а-яА-ЯёЁ]+/)) {
e.target.value = '';
}
if (e.target.value.length > 1) {
e.target.value = e.target.value[0];
}
});
edit.addEventListener('keydown', e => {
if ((e.key == 'я' || e.key == 'Я' || e.key == 'z' || e.key == 'Z') && e.ctrlKey) {
e.preventDefault()
edit.value = edit.value.slice(0, -1);
// Если один символ, то можно:
// edit.value = '';
}
})
<input id="edit" placeholder="Введите букву!">