Ввод с клавиатуры в JavaScript

Использование ввода с клавиатуры в JavaScript необходимо для создания интерактивных веб-приложений. Независимо от того, создаете ли вы игру, обрабатываете вход пользователя в систему или просто получаете настройки пользователя, JavaScript предоставляет несколько способов сбора данных с клавиатуры.

Использование prompt() для пользовательского ввода

Функция prompt() — один из самых простых способов получить пользовательский ввод в JavaScript. Эта встроенная функция открывает диалоговое окно, в котором пользователь может что-то ввести, а значение возвращается в виде строки.

Синтаксис

let userInput = prompt("Введите текст:");
 JavaScript let userName = prompt("What is your name?");

if (userName) {
    alert("Hello, " + userName + "!");
} else {
    alert("No name entered.");
}

Использование прослушивателей событий для ввода с клавиатуры

Для более сложных сценариев, таких как обнаружение ввода в реальном времени или обработка определенных клавиш, вы можете использовать систему обработки событий JavaScript. Прослушивая события клавиатуры (keydown, keypress, keyup), вы можете захватывать ввод, когда пользователь взаимодействует с клавиатурой.

Keydown Event

Событие keydown происходит при нажатии клавиши и охватывает все типы клавиш, включая специальные клавиши, такие как Esc, Enter и клавиши со стрелками.

 JavaScript document.addEventListener('keydown', function(event) {
    console.log('Key pressed: ' + event.key);
});

keypress Event

Событие keypress срабатывает при нажатии клавиши с символом, т. е. при вводе печатного символа, например букв, цифр или символов. Оно не срабатывает для непечатных клавиш, например Shift, Ctrl или Arrow.

 JavaScript document.addEventListener('keypress', function(event) {
    console.log('Key pressed: ' + event.key);
});

keyup Event

Событие keyup происходит при отпускании клавиши и часто используется, когда требуется обнаружить ввод после того, как пользователь закончил вводить текст или нажал клавишу.

 JavaScript document.addEventListener('keyup', function(event) {
    console.log('Key released: ' + event.key);
});

Прием входных данных от элементов формы

Во многих случаях, особенно при создании форм или панелей поиска, вам захочется захватывать ввод с клавиатуры непосредственно из поля ввода или текстовой области. Это можно сделать, обратившись к свойству value элементов формы.

 HTML <script>
    document.getElementById('myInput').addEventListener('input', function() {
        console.log('Current input value: ' + this.value);
    });
</script>

<input type="text" id="myInput" placeholder="Type something here">