CKEDITOR.plugins.add('divclass', { init: function(editor) { // 添加编辑器命令 editor.addCommand('insertDivClass', { exec: function(editor) { var selection = editor.getSelection(); var ranges = selection.getRanges(); var content = '';
// 这里只是示例,‌实际你可能需要遍历所有range并处理 if (ranges.length > 0) { var range = ranges[0]; var clonedElement = range.cloneContents(); var div = new CKEDITOR.dom.element('div', editor.document); div.addClass('styelxx'); div.append(clonedElement);
// 注意:‌这里的处理很简化,‌实际中你可能需要更精细地处理内容 // 比如处理嵌套、‌样式、‌位置等
range.deleteContents(); range.insertNode(div); selection.selectRanges([range]); } } });
// 添加工具栏按钮 editor.ui.addButton('divclass', { label: 'Add Div with Class', command: 'insertDivClass', //toolbar: 'insert', // 或者你希望放置的其他工具栏组 icon: this.path + 'images/insertpage.gif' }); } });
算是弄了一个,但会出现错误。 就算是全选了,但添加了DIV后,依然会少了最开始的一个P标签和最后一个结尾P标签。。
|