CKEditor 3对话框定位

4
我已经检查并尝试了这里发布的方法来设置CKEditor对话框弹出的位置: 以编程方式设置CKEditor对话框的位置 这似乎已经被废弃或不完整。当尝试为“链接”对话框设置时,对话框框架格式不正确,好像此onShow定义替换了默认操作而不是添加到其中。有没有建议修改此代码或新的方法将链接对话框位置靠近菜单栏?
CKEDITOR.on('dialogDefinition', function(e) {
   var dialogDefinition = e.data.definition;

   dialogDefinition.onShow = function() {
       this.move(200, 100);
   }
})
1个回答

4

你说得对。你的代码正在覆盖基本的onShow定义。

你需要做的就是保存一个默认(通用)的onShow,然后覆盖它,使其调用已保存的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. 记得在使用 apply 或者 call 方法时始终传递上下文。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接