如何在编辑器中插入代码,而不是在客户位置插入代码

How to insert code inside certain div in ckeditor rather than inserting it at cusor position?

本文关键字:插入 代码 客户 位置 编辑器      更新时间:2023-09-26

我正在尝试为ckeditor创建按钮,将使用960向编辑器添加行和列的内容。Gs网格系统。

我需要一种方法将生成的代码插入到编辑器窗口中已经存在的某些div中,而不仅仅是在光标处。

例如,我们在编辑器中有以下代码:

<div class="container">
  <div class="grid_12">
    <div class="inner">
    </div>
  </div>
</div>

当我点击我的按钮时,生成以下代码:

<div class="grid_3"></div>

我需要生成的代码插入到div类(grid_12)。无论光标的位置是什么。

由于ckeditor似乎具有正在编辑的内容的正常DOM模型,因此您应该能够执行以下操作:

var oEditor = CKEDITOR.instances.editor1;
var element = oEditor.document.getById('myElement');
var grid_3 = new CKEDITOR.dom.element('div');
grid_3.setAttributes({'class' : 'grid_3'});
element.append(grid_3);

在这里,我确实假设你会为grid_12元素使用一个id,如果你不这样做,它是不可能做到没有获取光标的位置和提取指定的div使用,然后…