@jhkhjkhkhjk

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

Имеется textarea для отправки сообщений. Логика работы примерно как в ВК (enter - отправка сообщения, shift+enter - перенос на новую строку). Сейчас при нажатии enter выполняется перенос на новую строку, затем - "отправка" сообщения. Как убрать перенос?
Пример: https://jsfiddle.net/p12ecqkv/
  • Вопрос задан
  • 2121 просмотр
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Используйте вместо textarea:
<div contenteditable="true"></div>

Обработка события:
function (event) {
  if (!event.shiftKey && event.which === 13) {
    event.preventDefault();
    // тут код для отправки сообщения
  }
}


Пример на Vue:

<div id="app">
   <div class="wrapper">
      <div class="text-box" contenteditable="true" v-on:keypress="handleKeypress($event)"></div>
   </div>
</div>


new Vue({
  el: '#app',
  methods: {
    handleKeypress: function(e) {
      if (!e.shiftKey && e.which === 13) {
        e.preventDefault();
       }
    }
  },
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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