2013-02-19 24 views
1

我有一個textarea,用戶可以在其中輸入文本。使用JavaScript檢測TextArea中的自動縮進

如果當前行以3個空格開頭並且用戶點擊輸入,它將自動插入3個空格並將光標設置在空格之後。 (之前或之後可能有文字)

如何使用JavaScript檢測此類模式?

+0

[從這裏開始](https://developer.mozilla.org/en/docs/JavaScript)。請。 – 2013-02-19 00:15:00

回答

1

Caret position in textarea, in characters from the start解釋瞭如何在用戶點擊輸入時找出插入符號的位置,以便您可以檢查是否有三個空格和左側的換行符。

Enter key in textarea說明如何檢測在文本區域中輸入鍵並採取措施。

一旦你有一個聽衆迷上了,知道插入符位置是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);