javascript - 为什么退格键或删除键的文本长度存在差异(在 TinyMCE 中)

标签 javascript count tinymce backspace

在我的 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);
    });
}

如果我的文本区域为空,当我按 Backspace(键 = 8)时,计数等于 0。 当我按删除键(键 = 46)时,计数等于 1。

在这两种情况下,console.log(ed.getBody().innerText);都会返回空字符串。

我想用它来计算(并限制)我的 TinyMCE 的大小。 有谁能帮我解释一下这种奇怪的差异吗?

最佳答案

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

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

关于javascript - 为什么退格键或删除键的文本长度存在差异(在 TinyMCE 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39121346/

相关文章:

javascript - Bootstrap 导航标题高度

c# - 如何检查某个字符串在另一个字符串中出现的次数?

tinymce - 配置 TinyMCE 以在 Composite C1 中使用 Font Awesome 图标

javascript - JQuery 循环暂停

javascript - 从嵌套在函数中的 Node.js 回调返回对象

javascript - 如何在 ASP .NET MVC 中使用 javascript 或 jquery 移动 html 元素中的类属性?

mysql - 在没有连接的情况下划分两个不同的sql表的计数

sql - 具有计数和总和的单个 MySQL 查询

javascript - 在 jQuery UI 对话框上启动 TinyMce

javascript - TinyMCE 栏始终位于顶部