在我的剧本中,我想等待CKEDITOR处于状态ready
,然后我才能按照自己的指示行事。所以我查阅了CKEDITOR API并写了以下条件:
if(CKEDITOR.status == "ready"){
//execute my code when ready
}
但是,状态永远不会从loaded
更改为status
。显然我甚至没有看到任何其他州。
更具体的任务,我想抓住CKEDITOR完成修改contenteditable =“true”的内联替换的那一刻。那时我想继续使用我的JS代码。
任何线索?
答案 0 :(得分:58)
如果要在API完全加载时执行代码,请使用CKEDITOR.loaded
事件:
CKEDITOR.on( 'loaded', function( evt ) {
// your stuff here
} );
如果您想在任何新实例准备就绪时执行代码,请使用CKEDITOR.instanceReady
事件:
CKEDITOR.on( 'instanceReady', function( evt ) {
// your stuff here
} );
如果您想在特定实例准备就绪时执行代码,请使用CKEDITOR.editor.instanceReady
事件:
CKEDITOR.replace( 'editor', {
on: {
instanceReady: function( evt ) {
// your stuff here
}
}
} );
答案 1 :(得分:8)
CKEDITOR中没有ready
状态,您可以使用loaded
之类的:
if ( CKEDITOR.status == 'loaded' ) {
// The API can now be fully used.
doSomething();
}
或使用instanceReady
,例如:
CKEDITOR.on('instanceReady', function(evt){
//ready
//do something
});
答案 2 :(得分:2)
正如@Sudhir所指出的,直接属性值和instanceReady方法之间存在细微差别。