2014-11-15 2 views
0

저는 CKeditor 용 JQuery를 사용합니다. 나는 이것을 위해 여러 개의 텍스트 영역을 가지고있다. 콘텐츠 생성시 텍스트 영역의 이름이 다를 수 있습니다.ajax + jquery 다음에 ckeditor 인스턴스가 이미 있습니다.

이, 나는 대신 ID의 클래스를 사용

$('.ckedit').ckeditor(); 

AJAX 콘텐츠를 다시로드 한 후, 내가 conclose에 오류가 있습니다 이 * 인스턴스 뭔가이 이미 존재 * 내가 아는

, 난 Ckeditor에 대한 파괴 방법을 사용할 수 있습니다.

if (CKEDITOR.instances['textarea_name']) { 
    CKEDITOR.instances['textarea_name'].destroy(); 
} 

그러나 텍스트 캔버스의 이름/ID가 순간.

어떻게이 문제를 해결할 수 있습니까? 감사

답변

0

나는이 코드를 시도하고 내가 UpdatePanel이 때의 CkEditor으로, 나를 위해 작동 나의 영어 : 죄송합니다 :

영문 :

자바 스크립트 :

$(document).ready(function() { 
    ReplaceWithCkEditor(); 
}); 

function pageLoad() { 
    ReplaceWithCkEditor(); 
} 

function ReplaceWithCkEditor() { 
    $('textarea').ckeditor(); 
} 

UpdatePanel이 완료된 후 Microsoft Ajax 프레임 워크는 pageLoad 함수를 실행합니다. 텍스트 영역을 CkEditor로 대체합니다.

0

감사합니다. 이 문제를 해결합니다.

$('.ckedit').ckeditor(); 

가 삽입하기 전에 :

jQuery.each(CKEDITOR.instances, function(){ 
    eval("CKEDITOR.instances."+this.name+".destroy(true)"); 
}); 
+0

안녕하세요. 좋은 소식이 있습니다. 마지막 버전을 설치 한 후에 Ckeditor (4 ver.) 코드를 삭제할 필요가 없습니다. :) – hcuser

0

당신은 당신의 텍스트 영역에서 클래스 WYSIWYG 기능을 추가하고 뉴스 요소를 변환 당신은 당신이 새로운 텍스트 영역이 기능을 사용하여 변환합니다이 function.when 전화 이 클래스의 텍스트 영역.

CKEDITOR.basePath += 'ckeditor/'; 
CKEDITOR.config.contentsCss = '/ckeditor/contents.css' ;  
function addWysiwyg() 
{ 
    var eldata = $(document).find('.wysiwyg'); 

    console.log(eldata); 
    var config = {}; 
    $(eldata).each(function(){ 
     CKEDITOR.replace(this, config); 
     $(this).removeClass('wysiwyg'); 
    }); 
} 
관련 문제