在JavaScript文本編輯器中,每行接受的總字符數爲65.我希望將一行中接受的字符數改爲35,我的文本編輯器的總字符長度(65)。在達到特定字符數限制的過程中,在文本編輯器中執行自動輸入
因此,如果用戶輸入第36個字符,則儘管每行字符長度爲65,但光標應該移到第二行。每行只能接受35個字符。
在JavaScript文本編輯器中,每行接受的總字符數爲65.我希望將一行中接受的字符數改爲35,我的文本編輯器的總字符長度(65)。在達到特定字符數限制的過程中,在文本編輯器中執行自動輸入
因此,如果用戶輸入第36個字符,則儘管每行字符長度爲65,但光標應該移到第二行。每行只能接受35個字符。
人們只能假設你在談論一個TEXTAREA html標記,在這種情況下,你最好的選擇是使用JavaScript正則表達式替換插入新行,你可以將它附加到OnChange事件。
編輯這個JS小提琴似乎工作。我使用'keyup'事件而不是'change'。 http://jsfiddle.net/sUS5s/
HTML
<textarea id="demo" rows="5" cols="65"></textarea>
JS
$("#demo").keyup(function(event) {
var txt = $(this).val();
$(this).val(txt.replace(/([^\r\n]{35})/gm, "$1\r"));
});
簡單用正則表達式替換替代。匹配35個連續的非換行符,並用自己換行換行。
這將工作,如果你不斷鍵入轉發,你需要一些更復雜的東西,讓你插入到以前的行等沒有新的線路歪斜。
編輯沒有jQuery的
document.getElementById("demo").onkeyup = function() {
var txt = document.getElementById("demo").value;
document.getElementById("demo").value = txt.replace(/([^\r\n]{35})/gm, "$1\r");
};
取決於他是否可以使用jQuery,或者他是否需要常規js – 2013-03-12 12:20:48
@Jeff Shaver - 將它轉換爲直接的JavaScript很容易/容易 – 2013-03-12 12:38:20
同意。更改了投票。 – 2013-03-12 12:43:08
你相信魔法? – mpm 2013-03-12 11:59:19