找到ckeditor实例

num*_*far 2 javascript jquery ckeditor

我想访问和操作使用ckeditor的textarea的内容.在我开始使用编辑器之前,我的原始代码是:

(function ($) {
    "use strict";
    $(document).ready(function () {

         for(var i=0; i<=10; i++) {

                $('#edit-button'+i).click(function(){

                        var tag = $(this).attr("value");
                        var id ="edit-body-und-0-value"; /* id of textarea */

                        var element  = document.getElementById(id);
                        var start    = element.selectionStart;
                        var end      = element.selectionEnd;
                        var text     = element.value;
                var prefix   = text.substring(0, start);
                        var selected = text.substring(start, end);
                        var suffix   = text.substring(end);
                        selected     = "["+tag+"]" + selected + "[/"+tag+"]";
                        element.value      = prefix + selected + suffix;

                        element.selectionStart = start;
                        element.selectionEnd   = start + selected.length;

                        return false;

                        });
            }
        });

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

启用编辑器时,这将停止工作.

我猜我需要使用一些不同的对象然后使用'element'对象,ckeditor对象,然后我可以使用这里描述的函数:http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR . editor.html

但是我如何获得ckeditor对象?

ckeditor是在drupal中添加的,所以我对它知之甚少,我不确定如何访问它或查找什么信息以便能够知道该怎么做.

在此页面上:http://ckeditor.com/blog/CKEditor_for_jQuery

$( 'textarea.editor' ).ckeditor();
Run Code Online (Sandbox Code Playgroud)

用于创建对象(?).但我已经有了一个我需要找到的ckeditor实例.我可以选择如何为给定的textarea选择编辑器吗?

Kev*_*vin 7

使用jquery适配器,你可以得到像这样的ckeditor"对象":

$('textarea.editor').ckeditorGet()
Run Code Online (Sandbox Code Playgroud)

所以要摧毁它,你会这样做

$('textarea.editor').ckeditorGet().destroy()
Run Code Online (Sandbox Code Playgroud)

这是使用ckeditor的4.x版本.