You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TinyMCE编辑器keyup事件获取文本长度报错:tinymce.get(...)为null

问题原因
  • tinymce.get(e)调用错误:回调里的e是键盘事件对象,并非编辑器ID或实例引用,tinymce.get()需要传入编辑器的有效标识(如ID)才能获取实例,用事件对象作为参数自然返回null,引发报错。
  • $(body)语法错误:jQuery选择器必须加引号,这里遗漏引号会把body当作变量处理,无法正确匹配页面body元素。
解决办法

直接利用回调中已有的editor实例获取内容,无需再调用tinymce.get()查找,同时修正jQuery选择器的语法:

修正后的代码:

<script>
tinymce.init({
    selector: 'textarea.editor',
    ...
    toolbar: true,
    init_instance_callback: function(editor) {
        editor.on('keyUp', function(e) {
            // 通过当前editor实例获取纯文本内容并统计长度
            var textLength = editor.getContent({ format: 'text' }).length;
            if( textLength === 0 ) {
                $('body').removeClass('active-text');
            } else {
                $('body').addClass('active-text');
            }
        });
    },
    setup: function (editor) {
    ...
    }
});
</script>

注:旧版TinyMCE的editor.text()方法已被废弃,推荐使用editor.getContent({ format: 'text' })获取纯文本内容,兼容性更强。

内容的提问来源于stack exchange,提问作者Buzzztube

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 17:15:52