如何在CKEditor中动态地将div添加到DOM?

时间:2015-04-27 17:18:49

标签: javascript ckeditor

我正在为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;
      } );
    }
});

0 个答案:

没有答案