2016-02-15 2 views
1

Я использую несколько CKeditors (последняя версия, 4.5.7) внутри вкладок Bootstrap. Я хочу добавить автографы для редакторов, поэтому они всегда соответствуют содержимому. У меня есть плагин установлен и есть это в моей конфигурации:CKeditor плагин автозагрузки внутри вкладок Bootstrap

config.autoGrow_minHeight = 500; 
config.autoGrow_onStartup = true; 

Он работает отлично для первого (видимого) редактора, но когда я нажимаю на вкладку другие редакторы MASSIVE - тысячи пикселей в высоту. Как только я нажму в редакторе, он изменится на нужный размер.

Полный демоверсия: http://85.159.215.184/cke-grow/ - нажмите Tab 2, чтобы увидеть проблему.

Это может быть ошибка в CKeditor, но поскольку сайт регистрации ошибок не работает, я спрашиваю здесь, если есть простое исправление или обходное решение. Любая помощь?

+0

FYI - отлично работает в firefox, см. Вопрос в хроме. Вы пытались включить редактор вручную при переключении вкладок? – charlietfl

+0

@charlietfl Фактически в Firefox редактор остается того же размера и не расширяется, чтобы соответствовать содержимому, если оно длиннее. См. Обновленную демоверсию. – DisgruntledGoat

+0

проблема связана с скрытым содержимым табуляции и, следовательно, без доступных измерений. Можно изменить css из 'display: none' для перемещения неактивного содержимого с экрана и перемещения его на экран при активном. Такая же проблема возникает с такими вещами, как карты, которые необходимо рассчитать размеры – charlietfl

ответ

2

Я выяснил решение: автоматическая фокусировка редактора при переключении вкладки.

// hook into Bootstrap's tab JS 
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { 
    // get the ID of the textarea (I have IDs based on the tab pane ID) 
    var paneId = $(this).attr('href').replace('#', ''); 
    var textareaId = 'content-'+paneId; 
    // get the CKEditor instance and focus it 
    CKEDITOR.instances[textareaId].focus(); 
}); 
Смежные вопросы