CKEditor:无法获取 CKEditor 的现有实例

CKEditor: Unable to getting existing instance of CKEditor

我在获取现有实例时遇到问题。

文本区:

{{ textarea  name=ec.ec_id value=ec.ecl_body placeholder=ec.ecl_en_body   class="form-control" }}

CKEditor:

function createEditor(name)
{
    CKEDITOR.replace(name, {
        //uiColor: '#379e15',
        resize_dir: 'both',
        resize_maxWidth: '800',
        toolbarGroups: [{name: 'basicstyles', groups: ['basicstyles', 'cleanup']},
            {name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align', 'bidi']},
            {name: 'links'}, {name: 'editing', groups: ['find', 'selection', 'spellchecker']}]

    });
}

createEditor(email.ec_id); //Its working

获取数据:

var data = CKEDITOR.instances[email.ec_id];

错误: 数据未定义

已解决,我花了很多时间解决这个问题,终于解决了。

CKEditor 在名称或 ID 属性上初始化。

对于示例 1:

<textarea  id="msg_body" name="msg_body"></textarea>

CKEDITOR.replace('msg_body', {}); //Working

var instance = CKEDITOR.instances['msg_body']; //return instance

对于示例 2:

<textarea  id="diffrent_id" name="msg_body"></textarea>

CKEDITOR.replace('msg_body', {}); //Working and ckeditor init successfully

var instance = CKEDITOR.instances['msg_body']; //Not Working return undefined.

对于示例 3:

<textarea  id="msg_body" name="diffrent_class"></textarea>

CKEDITOR.replace('msg_body', {}); //Working

var instance = CKEDITOR.instances['msg_body']; //return instance

SO 在 emberjs 中,如果我们不指定 id 字段,那么 ember 会自动分配一个 ember id,这就是我无法获取实例的原因。