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