2016-07-07 34 views
1

我在获取现有实例时遇到问题。CKEditor:无法获取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]; 

错误: 数据不确定

+1

你确定'email.ec_id'与你给'textarea'的'ec.ec_id'属性相匹配吗? –

+0

是的,它是一个对象 –

+0

@Rory我喜欢CKEditor不返回实例。 –

回答

0

固定,我花了很多时间在这个,并最终修复它。

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字段然后余烬自动分配一个烬ID这是因为我无法得到该实例。