将数据传递给CKEditor中的小部件
Passing data to widget in CKEditor
我做了一个非常简单的自定义小部件,但是我想通过自定义按钮而不是工具栏按钮将其添加到编辑器中,所以我使用editor.execCommand("mywidget")
。小部件已正确添加,但是如何通过此execCommand
调用将数据传递给小部件?在文档中,它说execCommand
的第二个参数用于将数据传递给命令处理程序,但是我似乎找不到我在调用execCommand("mywidget", {paramshere})
后如何在小部件代码中访问它。
谢谢!
CKEditor 4.5.0 Beta版的文档已经更新,通过命令指定小部件数据的能力是该版本的新功能。
所以,由于CKEditor 4.5.0 Beta这是(将是)可能的:
editor.execCommand( 'simplebox', {
startupData: {
align: 'left'
}
} );
但是在此版本之前,您需要直接使用Widget API。查看该命令在4.5.0测试版中的工作方式。有相当多的代码,但其中大部分是关于打开对话框和处理widget元素,甚至在它被插入编辑器之前(它必须保存在某个地方)。
如果您只想插入一个小部件,那么只需遵循文档:
var element = editor.document.createElement( 'div' );
editor.insertElement( element );
var widget = editor.widgets.initOn( element, 'simplebox', { align: 'left' } );
可以看到,widgetsRepository.initOn()
接受数据对象
定义命令时,或者需要修改现有命令时,只需向exec函数添加第二个参数,如下所示:
function myCommandName(data){
this.data = data
}
myCommandName.prototype = {
exec: function(editor, data) {
if(data){
doSomethingWithData(data);
}
}
}
editor.addCommand( 'myCommandName', new myCommandName(optionalDefaultData) )
为了在执行时将数据传递给命令,在命令名之后提供数据作为第二个属性。
editor.execCommand('myCommandName', { data: 'my data' });
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- Dojo不解析自定义小部件的模板html中的小部件声明性
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 在输入字段中将最小金额设置为
- CKEditor-我在editor.css中的风格是't
- 砌体不能填补小缺口
- 收听ckeditor小部件事件
- CKEditor如何允许href="javascript:void(0)"在小部件中
- CKEditor小部件忘记了它们'重新组装小部件,变得毫无用处
- CKEDITOR小部件将拖放到所需的元素中
- CKEditor-如何在两个编辑器中一起使用高级内容过滤器和小部件
- CKEditor:以小部件作为第一个元素,选择所有在Chrome中不工作的
- CKEditor,初始化用insertElement添加的小部件
- 如何在 CKEditor 中侦听小部件选择
- CKEditor 4具有可拖动内容的小工具
- 如何设置CKEditor的最小宽度
- CKEditor -获取编辑器数据和自定义小部件
- Django-ckeditor渲染完整的小部件,而不是我的自定义小部件
- 将数据传递给CKEditor中的小部件