您好我正在尝试限制 contenteditable="true" div 中的文本:
var char = 500;
$("#counter").append("You have <strong>" + char + "</strong> chars left.");
$("#editor").keypress(function () {
if ($(this).text().length > char) {
$(this).text($(this).text().substr(1));
}
var rest = char - $(this).text().length;
$("#counter").html("You have <strong>" + rest + "</strong> chars left.");
if (rest <= 100) {
$("#counter").css("color", "#ff7777");
}
else {
$("#counter").css("color", "#111111");
}
});
不幸的是,我面临以下问题:
- 默认情况下,当 div 包含任何文本时,剩余的字符数在插入或删除之前不会更新。
- 如果用户超过了最大字符数,则回车将转到文本框的开头并删除第一个字符而不是最近插入的字符。
- 如果用户粘贴超过 200 个字符的文本,则不会被缩短。
请找到代码:http: //jsfiddle.net/mmacin/A69tk/1/