🙌

textareaを常に最終行までスクロールさせる

2022/12/11に公開

textareaのテキストが追加されても最終行を常に表示してほしい


textareaに行を追加すると今のスクロール場所にとどまってしまうので、常に最終行を表示(追従)してほしい。

最終行までスクロールさせる

生JSを使った書き方

生JS
var selectTextarea = document.getElementById('選択したいtextareaのid');
selectTextarea.scrollTop = selectTextarea.scrollHeight;

以下参照
https://www.web-dev-qa-db-ja.com/ja/javascript/更新時にテキストエリアを下にスクロールし続ける方法/940045205/

jQueryを使った書き方

プログラム例.js
var selectTextarea = $('#選択したいtextareaのid');
selectTextarea.scrollTop(
    selectTextarea[0].scrollHeight - selectTextarea.height()
);

以下参照
https://www.web-dev-qa-db-ja.com/ja/javascript/更新時にテキストエリアを下にスクロールし続ける方法/940045205/
しかし、参照したページのjQueryを用いた別の書き方

$('#textarea_id').scrollTop($('#textarea_id')[0].scrollHeight);

は自分の環境では動かなかった。

このプログラムに問題があるのか自分に問題があるのか、Chrome拡張機能では動かす際に何かするべきことがあるのかどうかがわからないので、もし何か知っている方はコメント宜しくお願いいたします。

結果


常にtextareaの最終行を追従してくれるようになった。

参考ページ

以下を参考にさせていただきました。ありがとうございます。
https://gist.github.com/taoyag/2137278/revisions
https://www.web-dev-qa-db-ja.com/ja/javascript/更新時にテキストエリアを下にスクロールし続ける方法/940045205/

関連ページ

https://www.chickensblog.com/ee-npc-not-spawn/
https://www.chickensblog.com/scratch-cant-fool/
https://zenn.dev/teba_eleven/articles/520fbdb1951765
https://zenn.dev/teba_eleven/articles/ab4f620d1607e4

Discussion