Как сделать автоматическое увеличение textarea по высоте, по мере заполнения текста?

  • Bittles1 год назад
    Как автоматически добавить height для textarea, чтобы по мере заполнения текста он увеличивал свою высоту?
    Ответов: 2
  • Сергей1 год назад
    <textarea></textarea>


    var textarea = document.querySelector('textarea');

    textarea.addEventListener('keyup', function(){
    if(this.scrollTop > 0){
    this.style.height = this.scrollHeight + "px";
    }
    });


  • Даниил1 год назад
    Bittles, если вам нужно, чтобы размер (высота) textarea автоматически увеличивалась при наборе или вставки текста (символов), а при их удалении чтобы размер textarea также уменьшался, то следующий код справиться с этой задачей:

    <textarea id="myTextarea"></textarea>

    $('body')
    .one('focus.textarea', '#myTextarea', function(e) {
    baseH = this.scrollHeight;
    })
    .on('input.textarea', '#myTextarea', function(e) {
    if(baseH < this.scrollHeight) {
    $(this).height(0).height(this.scrollHeight);
    }
    else {
    $(this).height(0).height(baseH);
    }
    });

    Не забудьте подключить библиотеку jQuery

Ваш ответ:
  • bold
  • italic
  • underline
  • strike
  • Add link
  • Add image
  • Blockquote
  • Align left
  • Align center
  • Align right
  • Code
×
Используя сайт, вы подтверждаете, что вы прочитали и поняли политику о куки, политику конфиденциальности и наше пользовательское соглашение.