限制ContentEditable div中的字符数
- 论坛
- 限制ContentEditable div中的字符数
8 浏览
限制ContentEditable div中的字符数
我在我的网页应用程序中使用 contenteditable div 元素,并且正在尝试找到限制区域内允许字符数量的解决方案,一旦达到限制,尝试输入字符将不起作用。
以下是我目前的代码:
var content_id = 'editable_div';
// 在 contenteditable div 上绑定 keyup/down 事件
$('#' + content_id).keyup(function(){ check_charcount(content_id, max); });
$('#' + content_id).keydown(function(){ check_charcount(content_id, max); });
function check_charcount(content_id, max) {
if($('#' + content_id).text().length > max) {
$('#' + content_id).text($('#' + content_id).text().substring(0, max));
}
}
这确实将字符数量限制为 'max' 指定的数量,但一旦区域的文本由 jQuery 的 .text() 函数设置,光标会重新回到区域的开头。
因此,如果用户继续输入,新输入的字符将插入到文本的开头,而文本的最后一个字符将被删除。因此,我只需要找到一种方法来保持光标在 contenteditable 区域文本的末尾。