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

时间:2013-02-19 00:05:25

标签: javascript html

我有一个textarea,用户可以在其中输入文字。

如果当前行以3个空格开始并且用户按Enter键,它将自动插入3个空格并将光标设置在空格后面。 (可能有文字之前或之后)

如何使用JavaScript检测此类模式?

1 个答案:

答案 0 :(得分:1)

Caret position in textarea, in characters from the start解释了当用户点击输入时如何确定插入符号的位置,以便您可以检查左侧是否有三个空格和一个换行符。

Enter key in textarea解释了如何检测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);