使用JavaScript检测TextArea中的自动缩进



我有一个文本区域,用户可以在其中输入文本。

如果当前行以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);

最新更新