2010-08-04 2 views
3

Я пытаюсь найти способ программно установить положение диалога CKEditor всякий раз, когда открывается новый. Фактическая настройка позиции позиции кажется легкой, но то, что я не могу понять, заключается в том, как захватить событие нового диалогового окна CKEditor, которое создается и отображается.Программно установить положение диалогов CKEditor

Я предполагаю, что это будет что-то вдоль линий ...

CKEDITOR.on('dialogCreated', function(e) { ... }); 

Но не может показаться на самом деле найти в документации. Любые подсказки/подсказки?

+1

Обязательно повторно подключайте события по умолчанию, так как здесь упоминается oleq: http://stackoverflow.com/questions/12752180/ckeditor-3-dialog-positioning/12764449#12764449 – gbusman

ответ

5

Проведя несколько часов сегодня, я смог понять это по полной удаче. Диалоговые определения можно манипулировать во время загрузки. В файле config.js, добавьте следующее:

CKEDITOR.on('dialogDefinition', function(e) { 
    var dialogName = e.data.name; 
    var dialogDefinition = e.data.definition; 

    dialogDefinition.onShow = function() { 
     // Calculate your newX and newY ... 
     this.move(newX, newY); 
    } 
} 

Если вы хотите, чтобы отрегулировать положение для конкретного диалога вы можете использовать dialogName, чтобы проверить его.

Смежные вопросы