JavaScriptを使用したテキストエリアの自動高さ設定方法


  1. CSSを使用した方法: 最もシンプルな方法は、CSSのresizeプロパティを使ってテキストエリアのサイズを自動調整する方法です。以下のスタイルをテキストエリアに適用します。
textarea {
  resize: none;
  overflow-y: auto;
}

この方法では、テキストエリアにテキストが追加されるたびに、自動的にスクロールバーが表示されます。

  1. JavaScriptを使用した方法: JavaScriptを使ってテキストエリアの高さを自動的に調整する方法もあります。以下のコード例では、テキストエリアの高さを入力されたテキストの内容に応じて自動的に変更します。
function adjustTextareaHeight(textarea) {
  textarea.style.height = 'auto';
  textarea.style.height = textarea.scrollHeight + 'px';
}
// テキストエリアのイベントリスナーを設定
var textarea = document.getElementById('myTextarea');
textarea.addEventListener('input', function() {
  adjustTextareaHeight(this);
});

上記のコードでは、adjustTextareaHeight関数がテキストエリアの高さを自動的に調整します。inputイベントが発生した際にこの関数を呼び出すことで、テキストエリアの高さを即座に更新します。

  1. jQueryを使用した方法: もし、jQueryを使っている場合は、以下のようなコードを使用してテキストエリアの高さを自動調整することもできます。
$(document).ready(function() {
  $('#myTextarea').on('input', function() {
    this.style.height = 'auto';
    this.style.height = this.scrollHeight + 'px';
  });
});

上記のコードでは、inputイベントが発生した場合にテキストエリアの高さを自動的に調整します。

これらの方法を使うことで、テキストエリアの高さを自動的に調整することができます。必要に応じて、適用するコード例を選択してください。