如何检索CKEDITOR.status"准备好"?

fed*_*der 20 ckeditor

在我的剧本中,我想等待CKEDITOR处于状态,ready然后我才能让自己的指令顺利进行.所以我查阅了CKEDITOR API并写了以下条件:

if(CKEDITOR.status == "ready"){
 //execute my code when ready
}
Run Code Online (Sandbox Code Playgroud)

但是,状态永远不会改变loadedstatus.显然我甚至没有看到任何其他州.

更具体的任务,我想抓住CKEDITOR完成修改contenteditable ="true"的内联替换的那一刻.那时我想继续使用我的JS代码.

有线索吗?

ole*_*leq 61

如果要在API完全加载时执行代码,请使用CKEDITOR.loadedevent:

CKEDITOR.on( 'loaded', function( evt ) {
    // your stuff here
} );
Run Code Online (Sandbox Code Playgroud)

如果要在任何新实例准备就绪时执行代码,请使用CKEDITOR.instanceReady事件:

CKEDITOR.on( 'instanceReady', function( evt ) {
    // your stuff here
} );
Run Code Online (Sandbox Code Playgroud)

如果要在特定实例准备就绪时执行代码,请使用CKEDITOR.editor.instanceReady事件:

CKEDITOR.replace( 'editor', {
    on: {
        instanceReady: function( evt ) {
            // your stuff here
        }
    }
} );
Run Code Online (Sandbox Code Playgroud)

  • 提示:事件触发器在`evt.editor`里面的编辑器,`evt.editor.element里面的原始元素.$` (5认同)

Sud*_*oti 9

ready在CKEDITOR中没有任何状态,您可以使用loaded:

if ( CKEDITOR.status == 'loaded' ) {
    // The API can now be fully used.
    doSomething();
}
Run Code Online (Sandbox Code Playgroud)

或使用instanceReady,如:

CKEDITOR.on('instanceReady', function(evt){ 
   //ready
  //do something
});
Run Code Online (Sandbox Code Playgroud)