勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

textareaを自動でリサイズしてくれる「ExpandingTextareas」プラグインの利用方法

   2024/05/19  JavaScript

textareaのheight以上に文字を(複数行)入力しても当然heightの値は変わらないが、これを自動で変わるようにしたい。調べたところ「ExpandingTextareas」プラグインで対応できる模様。以下にサンプルとソースコードをメモ。

 

ExpandingTextareas

公式サイト

http://bgrins.github.io/ExpandingTextareas/

GitHub

https://github.com/bgrins/ExpandingTextareas

CDN

CDNで使う場合は以下を記述する。

<script src="https://cdn.jsdelivr.net/npm/expanding-textareas@1.0.2/dist/expanding.min.js"></script>

 

サンプル

https://taitan916.info/sample/textareas/

ExpandingTextareasを適用したテキストエリアに3行以上文字を入力すると自動で縦幅が長くなる点が確認できる筈。

 

利用方法

ソースコード

<div class="mb-50">
    <div class="title">普通のテキストエリア</div>
    <textarea></textarea>
</div>

<div>
    <div class="title">ExpandingTextareasを適用したテキストエリア</div>
    <textarea class="expanding"></textarea>
</div>

<script src="https://cdn.jsdelivr.net/npm/expanding-textareas@1.0.2/dist/expanding.min.js"></script>
<script>
const target = document.querySelector('.expanding');
const expanding = new Expanding(target);
</script>

textareaのwidthを指定したい場合

以下のようにwidthを指定してもプラグイン側で書き換えられてしまう。

textarea{
    width: 300px;
}

こちらのページを参考に以下のように指定すること。

.expanding-wrapper{
    width: 300px;
}

 - JavaScript

  関連記事

バニラJS対応(jQuery非依存)の画像スライダー系プラグイン「Flickity」の利用方法

画像スライダーを設置する場合「slick」プラグインを利用することが多い。ただ、 ...

jQueryのanimate()でページスクロール後に他の処理を実行させる方法

jQueryのanimate()でページスクロール後に特定の要素を非表示にしたい ...

バニラJavaScriptにて「ipify API」を利用してユーザのIPアドレスを取得する方法

あるサイトでユーザのIPアドレスを取得したいというケースがあった。普段であればP ...

tableのtd内にあるcheckboxのクリック範囲を拡大させ、チェック時に親要素であるtdにCSSを割り当てる方法

tableのtd内にcheckboxを設置し、td部分をクリックすることでche ...

JavaScriptでデータをGzip等で圧縮できる「pako」ライブラリの利用方法

以前「zcookies」というライブラリの利用方法をメモしたが、当該ライブラリの ...