在工作中,我们有一个弹出对话框系统,我想用它来在CKEditor中编辑小部件的内容。有什么办法吗?
CKEditor是否可以在外部调用并在Widget上获取回调设置值?
我已经用谷歌搜索了很长时间,但没有成功:(
最佳答案
编辑窗口小部件时(初始化,双击,进入以及调用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
方法的文档,该文档可让您处理小部件的创建。