勉強したことのメモ

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

  関連記事

ページ内のスクロールバーを見やすく且つ異なるブラウザ間でも同じデザインにする「SimpleBar」ライブラリの利用方法
ページ内のスクロールバーを見やすく且つ異なるブラウザ間でも同じデザインにする「SimpleBar」ライブラリの利用方法

CSSのoverflowでスクロールバーを設置した際、ブラウザによってデザイン( ...

JavaScriptのマップ用ライブラリ「MapLibre GL JS」の利用方法
JavaScriptのマップ用ライブラリ「MapLibre GL JS」の利用方法

あるサイトをWappalyzerで調査していた際に「MapLibre GL JS ...

formのtextareaに文字を入力した内容をリアルタイムプレビューする方法
formのtextareaに文字を入力した内容をリアルタイムプレビューする方法

textarea内に書いた内容をリアルタイムでプレビューする機能が必要になった。 ...

Leafletでマップ上に通知(トースト)機能を追加する方法(Leaflet.Notifications)
Leafletでマップ上に通知(トースト)機能を追加する方法(Leaflet.Notifications)

Leafletでマーカー内のボタンクリック時等、ユーザーが何らかのアクションを行 ...

JavaScriptで年齢計算
JavaScriptで年齢計算

JavaScriptで年齢計算。 ■ソース function ageCalcul ...