如何在ckeditor中的某个div中插入代码而不是将其插入光标位置?

时间:2012-01-03 20:09:40

标签: javascript css ckeditor

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

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

例如,我们在编辑器中有这个代码:

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

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

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

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

1 个答案:

答案 0 :(得分:1)

由于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);

这里我假设你使用了一个id为grid_12元素,如果不这样做就不可能在没有获取游标位置的情况下使用它来提取指定的div然后......