为什么文本长度与退格键或删除键不同(在 TinyMCE 中)

Why is there a difference in text length with backspace or delete (in TinyMCE)

在我的 TinyMCE.init 方法中,我有一个像这样的设置函数:

setup: function(ed){
    ed.onKeyUp.add(function(ed, e){
        var count = ed.getBody().innerText.length;
        var key = e.keyCode || e.charCode;
        console.log(count);
        console.log(ed.getBody().innerText);
    });
}

如果我的文本区域是空的,当我按下退格键(键 = 8)时,计数等于 0。 当我按 Delete(键 = 46)时,计数等于 1。

在这两种情况下,console.log(ed.getBody().innerText); returns 一个空字符串。

我想用它来计算(和限制)我的 TinyMCE 的大小。 有谁能告诉我这个奇怪的区别吗?

Delete是ASCII-Table中的字符代码127。删除字符被写入文本输入,因此计入它的长度,但不会显示,因为控制字符不会显示。

这确实是一个奇怪的行为,因为实际上删除字符不应该写入文本字段,但看起来确实如此