Ответ 1
или, возможно, попробуйте это, это намного проще:
использовать startupFocus : true
поэтому ваш код должен выглядеть так:
CKEDITOR.replace('editor1',
{
startupFocus : true,
...
У меня возникли проблемы с настройкой фокуса в событии 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
поэтому ваш код должен выглядеть так:
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();
});
Грязный путь (убедитесь, что вы прочитали комментарий под моим ответом):
jQuery('.cke_wysiwyg_frame').contents().find('body').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();
}
}
}
отлично работает для меня. Найдено здесь
Ни один из вышеперечисленных ответов не работал у меня. Вот что я сделал для CHROME, и он отлично работает:
CKEDITOR.instances['instance-name'].container.focus();