3

我在 Chrome 中测试了这段代码,似乎有一个涉及换行符的错误。在我实际使用所有字符之前,我已经达到了最大长度。

var ta = document.getElementById('myText');

document.getElementById('max').innerHTML = ta.maxLength;

setInterval(function() {
    document.getElementById('count').innerHTML = ta.value.length;
}, 250);
<textarea id="myText" maxlength="200" style="width:70%;height:130px">
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
Type more words here...
</textarea>

<div>
    Char Count <span id="count">0</span>/<span id="max">0</span>
</div>

如何准确获取文本区域的字符数?

更新 1 我向 Chromium 团队报告了这个错误,它似乎是低优先级的。

更新 2 该错误已合并到另一个错误中。

更新 3 该错误似乎已修复!

4

1 回答 1

1

似乎是一个与将 CR/LF 对视为两个字符而不是一个字符有关的 WebKit 错误(考虑提交它)。因为如果允许使用 197 个字符而不是 200 个字符通常是非关键的,因此可以忽略这一点。

但是,如果您愿意,您可以尝试在用户键入时不断保存插入符号位置,全部替换\r\n\n,并在 textarea 中恢复插入符号位置。

于 2012-10-16T22:57:18.777 回答