2012-07-12 51 views
2

我想訪問和操作使用ckeditor的textarea的內容。我之前,我開始使用編輯器原來的代碼是:查找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.editor.html

但我怎麼拿到的CKEditor目的?

ckeditor是在drupal中添加的,所以我對此知之甚少,而且我很不確定如何訪問它或尋找什麼信息以便能夠知道該怎麼做。

在此頁面:http://ckeditor.com/blog/CKEditor_for_jQuery

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

用於創建對象(?)。但是我已經有了一個需要查找的ckeditor實例。我可以如何選擇編輯器給定的textarea?

回答

7

使用jQuery適配器,就可以得到CKEditor的 「對象」 是這樣的:

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

所以要消滅它,你會做

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

這是使用4.x版的ckeditor。

+1

請注意,ckeditorGet()現在被標記爲已棄用。 http://docs.ckeditor.com/#!/api/CKEDITOR_Adapters.jQuery-method-ckeditorGet – Kuofp 2017-06-14 09:39:00