用“p”CKEditor包装“img”

时间:2013-10-28 08:52:21

标签: javascript ckeditor

我正在尝试为CKEditor 4.1编写插件,它将使用p标签包装选定的img。我在docs中找到了一些关于这个的东西,但是出了什么问题?

var current = editor.getSelection();
if(current.getStartElement().getName() == 'img'){
    var p = new CKEDITOR.dom.element( 'p' );
    current.getSelectedElement().appendTo(p);
    alert('DONE');
}

当我点击调用此功能的按钮时,我得到的是空格而不是img。怎么了?

2 个答案:

答案 0 :(得分:1)

尝试类似:

var current = editor.getSelection();
if(current.getStartElement().getName() == 'img'){
    var p = new CKEDITOR.dom.element( 'p', editor.document );
    p.insertBefore( current.getStartElement() );
    p.append( current.getStartElement() );
    alert('DONE');
}

答案 1 :(得分:0)

包装到

中的示例
CKEDITOR.plugins.add('table_wrapper', { 
    init: function (editor) {
        editor.on('insertElement', function (event) {
            if (event.data.getName() === 'table') {
                var div = new CKEDITOR.dom.element('div').addClass('table-wrapper'); // Create a new div element to use as a wrapper.
                event.data.appendTo(div); // Append the original element to the new wrapper.
                event.data = div; // Replace the original element with the wrapper.
            }
        }, null, null, 1);
    }
});