ユーザーがテキストを入力できるテキストエリアがあります。
現在の行が 3 つのスペースで始まり、ユーザーが Enter キーを押すと、自動的に 3 つのスペースが挿入され、スペースの直後にカーソルが設定されます。(前後にテキストがある場合があります)
JavaScript でそのようなパターンを検出するにはどうすればよいですか?
ユーザーがテキストを入力できるテキストエリアがあります。
現在の行が 3 つのスペースで始まり、ユーザーが Enter キーを押すと、自動的に 3 つのスペースが挿入され、スペースの直後にカーソルが設定されます。(前後にテキストがある場合があります)
JavaScript でそのようなパターンを検出するにはどうすればよいですか?
テキストエリア内のキャレット位置、先頭からの文字列では、ユーザーが Enter キーを押したときにキャレットがどこにあるかを調べて、左に 3 つのスペースと改行があるかどうかを確認する方法を説明しています。
テキストエリアにキーを入力Enterすると、テキストエリアでキーを検出してアクションを実行する方法が説明されます。
リスナーを接続し、キャレットの位置がcaret
であることを知ったら、次のようなことができます
if (/(?:^|[\r\n]) (?:[^\r\n ][^\r\n]*)?$/
.test(myTextArea.value.substring(0, caret)) {
...
}
現在の行の先頭にちょうど 3 つのスペースがある場合にアクションを実行します。
3 つの余分なスペースを挿入するには、次のようにします。
myTextArea.value = myTextArea.value.substring(0, caret)
+ "\n " + myTextArea.value.substring(caret);