【发布时间】:2018-05-15 13:37:53
【问题描述】:
我需要具有 TextArea 的功能
- 每行最多只能有 30 个字符
- 不想在键入时修剪任何值,一行中超过 30 个的下一个字符需要自动出现在下一行
我正在使用下面的代码,但它会在粘贴包含 30 多个字符的行时修剪下一行的第一个字符。
<textarea id="textareainput"></textarea>
var input= document.getElementById("textareainput");
var lines = input.value.split("\n");
var start = input.selectionStart;
var end = input.selectionEnd;
for (var i = 0; i < lines.length; i++) {
if (lines[i].length <= 30) continue;
var j = 0; space = 30;
while (j++ <= 30) {
if (lines[i].charAt(j) === " ") space = j;
}
lines[i + 1] = lines[i].substring(space + 1) + (lines[i + 1] ? " " + lines[i + 1] : "");
lines[i] = lines[i].substring(0, space);
}
input.value = lines.slice(0, lines.length).join("\n");
if (start == end) {
input.setSelectionRange(start, end);
}
【问题讨论】:
标签: javascript jquery html textarea