Управление DOM с помощью JavaScript в современных браузерах и IE 11+
По умолчанию нажатие Enter
или Shift
и Enter
создаст новую строку для элемента textarea
.
В некоторых случаях, таких как встроенный редактируемый элемент или приложение для обмена сообщениями, вы хотите отправить данные, когда пользователь нажимает Enter
. Единственный способ создать новую строку - нажать Shift
и Enter
.
Предположим, что у нас есть следующий элемент textarea
:
<textarea id="message"></textarea>
Чтобы предотвратить поведение по умолчанию при нажатии клавиши Enter
, мы можем обработать событие keydown
:
const ele = document.getElementById('message');
ele.addEventListener('keydown', function(e) {
// Get the code of pressed key
const keyCode = e.which || e.keyCode;
// 13 represents the Enter key
if (keyCode === 13 && !e.shiftKey) {
// Don't generate a new line
e.preventDefault();
// Do something else such as send the message to back-end
// ...
}
});