以编程方式设置CKEditor对话框的位置

T. *_*one 3 ckeditor

我正在尝试找到一种方法,以便在打开新对话框时以编程方式设置CKEditor对话框的位置.位置部分的实际设置似乎很容易,但我似乎无法弄清楚如何捕获正在创建和显示的新CKEditor对话框的事件.

我假设它将是......

CKEDITOR.on('dialogCreated', function(e) { ... } );
Run Code Online (Sandbox Code Playgroud)

但似乎无法在文档中找到它.

T. *_*one 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果要调整特定对话框的位置,可以使用dialogName它来测试它.