2

我想访问和操作使用 ckeditor 的文本区域的内容。在我开始使用编辑器之前,我的原始代码是:

(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);

启用编辑器后,这将停止工作。

我猜我需要使用一些不同的对象,然后是“元素”对象、ckeditor 对象,然后我可以使用这里描述的函数:http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR 。编辑器.html

但是我如何获得 ckeditor 对象呢?

ckeditor 是在 drupal 中添加的,所以我对它知之甚少,我非常不确定如何访问它或查找哪些信息才能知道该做什么。

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

$( 'textarea.editor' ).ckeditor();

用于创建对象(?)。但是我已经有一个需要查找的 ckeditor 实例。我可以如何为给定的文本区域选择编辑器吗?

4

1 回答 1

7

使用 jquery 适配器,您可以获得 ckeditor “对象”,如下所示:

$('textarea.editor').ckeditorGet()

所以要摧毁它,你会做

$('textarea.editor').ckeditorGet().destroy()

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

于 2013-11-07T21:15:44.390 回答