Как получить CKEDITOR.status "готов"?
В моем script я хотел дождаться, когда CKEDITOR будет в состоянии ready
, прежде чем я позволю своим собственным инструкциям идти своим путем. Поэтому я посоветовался с API CKEDITOR и написал следующее условие:
if(CKEDITOR.status == "ready"){
//execute my code when ready
}
Однако статус никогда не изменяется с loaded
до status
. Видимо, я даже не видел другого государства.
Более конкретная задача, я хотел уловить момент, когда CKEDITOR завершил модификацию встроенной замены contenteditable = "true". Это, когда я хочу продолжить свой JS-код.
Любые подсказки?
Ответы
Ответ 1
Если вы хотите выполнить свой код, когда 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
}
}
} );
Ответ 2
нет статуса ready
в CKEDITOR, вы можете использовать loaded
как:
if ( CKEDITOR.status == 'loaded' ) {
// The API can now be fully used.
doSomething();
}
или используйте instanceReady
, например:
CKEDITOR.on('instanceReady', function(evt){
//ready
//do something
});
Ответ 3
Как отметил @Sudhir, существует небольшое различие между прямым значением атрибута и методом instanceReady.
- Используйте прослушиватель событий, если вы требуете, чтобы вас уведомили, когда CKEDITOR не только завершил процесс загрузки, но и завершил всю последующую обработку. В частности, замена и вставка HTML.