1

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

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

如何使用 JavaScript 检测这种模式?

4

1 回答 1

1

textarea 中的插入符号位置,从一开始的字符中解释了如何确定用户按 Enter 键时插入符号的位置,以便您可以检查左侧是否有三个空格和一个换行符。

在 textarea 中输入键解释了如何检测textareaEnter中的键并采取行动。

一旦你连接了一个监听器并知道插入符号的位置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);
于 2013-02-19T01:04:30.180 回答