Textareaのキャレットがある行の行数を取得するJavaScript
code:scirpt.js
const textarea = document.querySelector("textarea");
textarea.addEventListener("input", () => {
const value = textarea.value;
const cursorPosition = textarea.selectionStart;
const lines = value.substr(0, cursorPosition).split("\n");
const lineNumber = lines.length;
console.log(lineNumber);
});
主な意味
Textarea全体の文字列を取得し、その開始から現在カーソルがある場所までを切り取り、さらにそれを改行で分割して配列にする
その配列のlengthが行数になる。
一行目だったら1、二行目だったら2となる