我有一个textarea,用户可以在其中输入文字。
如果当前行以3个空格开始并且用户按Enter键,它将自动插入3个空格并将光标设置在空格后面。 (可能有文字之前或之后)
如何使用JavaScript检测此类模式?
答案 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);