勉強したことのメモ

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非依存)の画像遅延読み込みライブラリ「lazysizes」の利用方法

あるサイトのコーディングデータを貰った際に「lazysizes」というJavaS ...

amazon等のECサイトによくにあるアイテムの満足度を星マークで送信・表示する方法

amazon等のECサイトによくにあるアイテムの満足度を星マークかつ5段階で送信 ...

JavaScriptにてスワイプ可能なLightBox系ライブラリ「PhotoSwipe」の利用方法

あるサイトをWappalyzerで調査していた際に「PhotoSwipe」という ...

jQueryでユーザーが編集可能な文字列をページ上に表示する際にエスケープする方法

GETパラメータを取得し、その内容をページ上に表示したいケースがあった。また、A ...

指定した要素に注釈を設定できる「Chardin.js」プラグインの利用方法

指定した要素に注釈を入れることができるjQueryプラグイン「Chardin.j ...