У меня проблемы с установкой фокуса в событии instanceReady в CKEditor 3.4.1. Я уже попробовал следующие два способа, но оба они не всегда работают.
CKEDITOR.on('instanceReady', function(e) { CKEDITOR.instances.editor1.focus(); }); CKEDITOR.replace('editor1', { on : { instanceReady : function( ev ) { ev.editor.focus(); } } } );
или, может быть, попробуйте это, это гораздо проще:
использование startupFocus : true
startupFocus : true
поэтому ваш код должен выглядеть так:
CKEDITOR.replace('editor1', { startupFocus : true, ...
вот ты, мой друг
CKEDITOR.replace('editor1', { on : { instanceReady : function( ev ) { CKEDITOR.instances.editor1.focus(); } } } );
или
CKEDITOR.replace('editor1', { on : { instanceReady : function( ev ) { this.focus(); } } } );
CKEDITOR.instances['instance-name'].on('instanceReady', function (event) { CKEDITOR.instances['instance-name'].focus(); });
Ни один из приведенных выше ответов не работал для меня. Вот что я сделал для ХРОМ , и он работает просто отлично:
CKEDITOR.instances['instance-name'].container.focus();
Лучший способ для меня,
событие фокусировки триггера
Критическим моментом является фокусировка экземпляра на время ожидания
для (экземпляр var в CKEDITOR.instances) { $ timeout (function () { CKEDITOR.instances [экземпляр] .focus (); }); }
Примечание: я нашел экземпляр с циклом for. Вы можете найти лучший способ найти экземпляр
немного поздно, но:
CKEDITOR.replace( 'YourEditor', { on: { instanceReady : function( evt ) { //Set the focus to your editor CKEDITOR.instances.YourEditor.focus(); } } }
у меня отлично работает. Найдено здесь
Грязный путь (обязательно прочитайте комментарий под моим ответом):
jQuery('.cke_wysiwyg_frame').contents().find('body').focus();