【发布时间】:2023-03-31 00:55:02
【问题描述】:
我有一个文本区域,用户可以在其中输入文本。
如果当前行以 3 个空格开头,用户按回车,它会自动插入 3 个空格并将光标设置在空格后面。 (前后可能有文字)
如何使用 JavaScript 检测这种模式?
【问题讨论】:
-
start here。请。
标签: javascript html
我有一个文本区域,用户可以在其中输入文本。
如果当前行以 3 个空格开头,用户按回车,它会自动插入 3 个空格并将光标设置在空格后面。 (前后可能有文字)
如何使用 JavaScript 检测这种模式?
【问题讨论】:
标签: javascript html
Caret position in textarea, in characters from the start 解释了如何确定用户按回车键时插入符号的位置,以便您检查左侧是否有三个空格和一个换行符。
Enter key in textarea 解释了如何检测文本区域中的 Enter 键并采取行动。
一旦你连接了一个监听器并且知道插入符号的位置是caret,你可以做类似的事情
if (/(?:^|[\r\n]) (?:[^\r\n ][^\r\n]*)?$/
.test(myTextArea.value.substring(0, caret)) {
...
}
在当前行的开头正好有三个空格时采取行动。
要插入 3 个额外的空格,你可以这样做
myTextArea.value = myTextArea.value.substring(0, caret)
+ "\n " + myTextArea.value.substring(caret);
【讨论】: