带contenteditable的Javascript MaxLength

带contenteditable的Javascript MaxLength,javascript,jquery,Javascript,Jquery,我想限制用户最多输入10个字符。我可以这样做,但当我选择一个文本并尝试替换它时,我无法这样做。例如:如果我突出显示“mm”,则无法替换它,因为最大长度为10。在使用maxlength时如何执行此操作? 以下是我的js函数: $('div').on('keydown', function(event) { $('span').text('Total chars:' + $(this).text().length); if($(this).text().length === 10 &

我想限制用户最多输入10个字符。我可以这样做,但当我选择一个文本并尝试替换它时,我无法这样做。例如:如果我突出显示“mm”,则无法替换它,因为最大长度为10。在使用maxlength时如何执行此操作? 以下是我的js函数:

$('div').on('keydown', function(event) {
  $('span').text('Total chars:' + $(this).text().length);
  if($(this).text().length === 10 && event.keyCode != 8) {
    event.preventDefault();
  }
});

使用突出显示的文本长度作为参数

$('div')。打开('keydown',函数(事件){
var selection=window.getSelection().getRangeAt(0);
$('span').text('Total chars:'+$(this.text().length));
if($(this).text().length==10选择和事件.keyCode!=8){
event.preventDefault();
}
});

年月日

你能把这个JSFIDLE链接也放进去吗?你能分享一个链接吗?@Marc Blur不工作!谢谢,它在Chrome上工作,但在IE 11上不工作。当我点击单元格时,该字段将变为可编辑,然后我无法更改突出显示的文本。你知道为什么吗?