我正在为CKEditor编写插件,在自定义对话框的onOk函数中,我需要添加一个div,之后可以将其用于其他目的,因此必须将其附加到DOM。任何想法我怎样才能做到这一点? (在CK编辑中,我在其他地方没有这个问题)
编辑:我已经尝试了很多东西。通过手册,尝试了append,appendTo,editor.document.createElement + editor.insertElement等函数,将div直接追加到编辑器主体(editor.document.getBody())和无数其他选项。在这个问题上度过了整整一天之后,我真的没有想法了。编辑#2:
CKEDITOR.plugins.add('ct_video', {
init: function( editor ) {
editor.addCommand('mydialog', new CKEDITOR.dialogCommand('ct_video'));
editor.ui.addButton( 'Video', {
label: 'Insert Video',
command: 'mydialog',
toolbar: 'insert',
icon: this.path + 'icons/icon.png'
});
CKEDITOR.dialog.add('ct_video', function(api) {
// CKEDITOR.dialog.definition
var dialogDefinition = {
title: 'Add a video',
minWidth: 390,
minHeight: 130,
contents: [
{
id: 'embedVideo',
label: 'Embed a video',
title: 'Embed a video',
expand: true,
padding: 0,
elements: [
{
type: 'html',
html: '<p>Enter the embed code here:</p>'
},
{
type: 'textarea',
id: 'embed-code',
rows: 4,
cols: 40
}
]
}
],
buttons: [CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton],
onOk: function() {
var div = new CKEDITOR.dom.element('div');
div.setAttribute('id', 'mrdkaa');
div.appendTo(editor.document.getBody());
}
};
return dialogDefinition;
} );
}
});