我有一个文本区域,用户可以在其中输入文本。
如果当前行以3个空格开始,并且用户点击回车键,它将自动插入3个空格,并将光标设置在空格后面。(之前或之后可能有文本)
如何使用JavaScript检测这种模式?
文本区域中的插入符号位置,从一开始就以字符为单位,解释了当用户点击回车键时如何确定插入符号的位置,以便检查左侧是否有三个空格和一个换行符。
文本区域中的Enter键说明如何在文本区域中检测Enter键并采取行动。
一旦你连接了一个监听器,并且知道插入符号的位置是caret
,你就可以做一些类似的事情
if (/(?:^|[rn]) (?:[^rn ][^rn]*)?$/
.test(myTextArea.value.substring(0, caret)) {
...
}
当当前行的起始处正好有三个空格时执行操作。
要插入3个额外的空格,您可以执行类似的操作
myTextArea.value = myTextArea.value.substring(0, caret)
+ "n " + myTextArea.value.substring(caret);