首页 > 解决方案 > 如何在编辑器中输入文字?

问题描述

我遇到了这个奇怪的问题,似乎无法弄清楚。基本上,我只想允许用户在编辑器中输入最多40 个字符,如果用户输入超过40 个字符,只需停止它们。那部分效果很好。但是,在输入 41 个字符后,CK Editor 似乎冻结了,我根本无法删除/添加更多字符。谁能告诉我我做错了什么?提前非常感谢!

CKEDITOR.on('instanceReady', function(evt) { 
  evt.editor.on('key', function(event){
    if(evt.editor.getData().length > 40){
        return false;
    }
});

标签: javascript

解决方案


也许你正在寻找的东西

CKEDITOR.instances.foo.on('key',function(event){
        var deleteKey = 46;
        var backspaceKey = 8;
        var keyCode = event.data.keyCode;
        if (keyCode === deleteKey || keyCode === backspaceKey)
            return true;
        else
        {
            var textLimit = 40;
            var str = CKEDITOR.instances.foo.getData();
            if (str.length >= textLimit)
                return false;
        }
    });

您需要允许删除键码

http://jsfiddle.net/H2szq/635/


推荐阅读