CKEditor.focus() в событии instanceReady не работает

У меня возникли проблемы с настройкой фокуса в событии instanceReady из CKEditor 3.4.1. Я уже пробовал следующие два пути, но оба они не всегда работают.

CKEDITOR.on('instanceReady', function(e) { CKEDITOR.instances.editor1.focus(); });


CKEDITOR.replace('editor1',
{
    on :
    {
        instanceReady : function( ev )
        {
            ev.editor.focus();
        }
    }
} );

Ответы

Ответ 1

или, возможно, попробуйте это, это намного проще:

использовать startupFocus : true

поэтому ваш код должен выглядеть так:

CKEDITOR.replace('editor1',
{
    startupFocus : true,
...

Ответ 2

здесь вы идете мой друг

CKEDITOR.replace('editor1',
{
    on :
    {
        instanceReady : function( ev )
        {
            CKEDITOR.instances.editor1.focus();
        }
    }
} );

или

CKEDITOR.replace('editor1',
{
    on :
    {
        instanceReady : function( ev )
        {
            this.focus();
        }
    }
} );

Ответ 3

CKEDITOR.instances['instance-name'].on('instanceReady', function (event) {
            CKEDITOR.instances['instance-name'].focus();
        });

Ответ 4

Грязный путь (убедитесь, что вы прочитали комментарий под моим ответом):

jQuery('.cke_wysiwyg_frame').contents().find('body').focus();

Ответ 5

Лучший способ для меня,

  • найдите экземпляр CKEditor, затем
  • событие триггера фокуса

    Критическая точка заключается в том, чтобы сфокусировать экземпляр в тайм-ауте

    для (экземпляр var в CKEDITOR.instances) {
      $ timeout (function() {      CKEDITOR.instances [экземпляр].focus();   });  }

Примечание. Я нашел экземпляр с циклом for. Вы можете найти лучший способ найти экземпляр

Ответ 6

немного поздно, но:

CKEDITOR.replace( 'YourEditor', 
{ 
 on:
   {
     instanceReady : function( evt )
     {
       //Set the focus to your editor
       CKEDITOR.instances.YourEditor.focus();
      }
    }
}

отлично работает для меня. Найдено здесь

Ответ 7

Ни один из вышеперечисленных ответов не работал у меня. Вот что я сделал для CHROME, и он отлично работает:

CKEDITOR.instances['instance-name'].container.focus();