勉強したことのメモ

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

  関連記事

jQueryで指定した要素を簡単にフォーカスするfocusbleの使い方

divやspanなど指定した要素を簡単にフォーカスするjQueryプラグインがあ ...

CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成

CodeIgniter4.4.4&Bootstrap&jQuer ...

JavaScriptでbodyタグ内に特定のClass要素が追加された際イベントを発火させる方法

ASPを使用したサイトでページ内に特定のClass要素が追加された際にJSでイベ ...

バニラJS対応(jQuery非依存)の画像遅延読み込みプラグイン「echo.js」の利用方法

あるサイトをブラウザの開発者ツールで見ていると「echo.js」と聞いたことの無 ...

AjaxのJSONP使用でPHPで作った配列をJSに返す方法

AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...