限制ContentEditable div中的字符数

8 浏览
0 Comments

限制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 区域文本的末尾。

0