4

我已经检查并尝试了这里发布的方法来设置 CKEditor 对话框的弹出位置:

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

这似乎已被弃用或不完整。尝试对“链接”对话框执行此操作时,对话框格式不正确,好像此 onShow 定义替换了默认操作而不是添加到默认操作。有什么建议可以更改此代码或使用新方法将链接对话框放置在更靠近菜单栏的位置吗?

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

   dialogDefinition.onShow = function() {
       this.move(200, 100);
   }
})
4

1 回答 1

4

你是对的。您的代码正在覆盖基本onShow定义。

您所要做的只是保存一个默认值 (generic) onShow,然后覆盖它,以便调用保存的那个并最终执行您的代码:

CKEDITOR.on( 'dialogDefinition', function( event ) {
    var dialogDefinition = event.data.definition,
        genericOnShow = dialogDefinition.onShow;

    dialogDefinition.onShow = function() {
        genericOnShow.apply( this );
        this.move( 10, 10 );
        // ...or anything you want ;)
    }
});

瞧!

PS。请记住始终使用applycall传递上下文。

于 2012-10-06T22:28:11.483 回答