如果传递事件对象到你的函数和调用e.preventDefault()如果达到最大值?
var content_id = 'editable_div';
max = 10;
//binding keyup/down events on the contenteditable div
$('#'+content_id).keyup(function(e){ check_charcount(content_id, max, e); });
$('#'+content_id).keydown(function(e){ check_charcount(content_id, max, e); });
function check_charcount(content_id, max, e)
{
if(e.which != 8 && $('#'+content_id).text().length > max)
{
// $('#'+content_id).text($('#'+content_id).text().substring(0, max));
e.preventDefault();
}
}
虽然,你可能需要做一些更多,允许用户做类似’删除’的事情。
编辑:
添加了对“删除”键的支持。
编辑2:
此外,你可能可以摆脱keyup处理程序。 keydown应该足够了。