@yamakasi_habr

Как запретить перенос строки в textarea?

Нужно чтобы сообщение из textarea отправлялось при нажатии кнопки enter. Это работает отлично:
$(document).keypress(function (e) {
        if (e.which == 13) {
            document.getElementById("commentAdd").click();
            document.getElementById("messageArea").value = "";
                    }
    });


Теперь проблема в том что когда Enter нажимаю, помимо отправки сообщения еще и перенос строки срабатывает. Добавил запрет на Enter:
$('textarea').on('keydown', function( el ) {
        if( el.keyCode === 13 ) {
            el.preventDefault();
            whenEnterPressed();
        }


Само собой теперь enter вообще не работает, и сообщения не отправляются, и переноса строки нет. В общем что сделать, чтобы при нажатии Enter сообщение отправлялось, а строка не переносилась?



Codepen на отдельной странице: https://codepen.io/vovan9908/pen/bGdxoRM
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
@alexalexes
Добавьте на textarea два обработчика события keydown, как на запрет перевода строки, так и на отправку контента.
$(document).keydown(function (e) {
        if (e.which == 13) {
            document.getElementById("commentAdd").click();
            document.getElementById("messageArea").value = "";
                    }
    });

$('textarea').on('keydown', function( el ) {
        if( el.keyCode === 13 ) {
            el.preventDefault();
            whenEnterPressed();
        }
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы