使用CKEditor Widgets集成外部对话框

时间:2015-04-08 07:36:24

标签: javascript dialog widget ckeditor

在工作中我们有一个弹出对话框系统,我想用它来编辑CKEditor中小部件的内容。有没有办法解决这个问题?

CKEditor是否有办法在外面调用并在Widget上获取回调设置值?

我用谷歌搜索了一段时间但没有成功:(

1 个答案:

答案 0 :(得分:2)

正在编辑窗口小部件时(在初始化时,在双击时,在输入时以及调用widget.edit()方法时),将触发widget#edit事件。 widget.edit方法中代码的开头如下所示:

edit: function() {
    var evtData = { dialog: this.dialog };

    // Edit event was blocked or there's no dialog to be automatically opened.
    if ( this.fire( 'edit', evtData ) === false || !evtData.dialog )
        return false;

    ...
}

这意味着如果事件被取消或者widget.definition中没有设置对话框名称(我猜是你的情况),那么事件发生后就不会发生任何事情。

因此,首先,请听取widget#edit事件并显示您的对话框。然后,当用户按下“确定”按钮时使用widget.setData()。您还需要在进行任何更改之前和之后触发editor#saveSnapshot事件。

另外,请阅读widget.repository#finalizeCreation方法的文档,该方法将允许您处理小部件创建。

相关问题