2011-11-16 2 views
3

CMS가있는 여러 개의 CKEditor 인스턴스를 사용하고 있으며 여러 상자를 끌어다 놓아 사용자의 콘텐츠 순서를 바꿀 수있는 기능을 추가하여 사용자가 프런트 엔드.CKEDITOR 및 jquery 끌어서 놓기로 인해 내용이 사라집니다.

끌어서 놓기가 작동하여 사이트의 프런트 엔드에 콘텐츠를 올바르게 배치하지만 콘텐츠가 CKEditor에서 사라집니다.

CKEditor의 html, head 및 body 태그가 비어있는 것처럼 보이지 않으므로 삭제되지 않습니다.

누구든지이 경험이 있거나 그 이유를 알고 있습니까?

감사

답변

2

나는이 같은 문제가 및 ckeditor가 서식있는 텍스트의 표시가 iframe을 사용하는 것을 발견했다. Iframe이 jquery 드래그 앤 드롭 코드를 방해하는 것 같습니다 (이벤트를 가로 채고있는 것은 내 이해입니다). 당신이) (드래그 (및 정렬되지() 나) (크기 조정)를 jQuery를 사용하는 경우에 당신은 사용할 수있는 내장과 같이 보이는 iframefix라는 구성 변수 : 당신은을 사용하는 경우

$(".selector").draggable({ iframeFix: true }); 

을 sortable (나 같은)이나 크기를 재조정 할 수 있다면, 자신 만의 fix를 롤백하거나 기존의 jui가 아닌 것을 찾아야 할 것이다. 일단 내가 작동하게되면 여기에 해결책을 게시 할 것입니다. 나는이 처음부터 질문을하고있다. Trouble Using JQuery UI.Resizable() and UI.Draggable() with an iFrame,

2

draggable + sortable을 사용하고 있다면, 아마도 언로드하고 나중에 다시로드하기를 원할 것이다. 이 나를 위해 일했다 :

function unloadEditors() { 
    $('textarea.editor:hidden').each(function(){ 
     var tagId = $(this).attr('id'); 
     CKEDITOR.instances[ tagId ].destroy(); 
    }); 
} 

function loadEditors() { 
    $('textarea.editor:visible').each(function(){ 
     var tagId = $(this).attr('id'); 
     CKEDITOR.replace(tagId); 
    }); 
} 

$(document).ready(function(){ 

$("#blocks").sortable({ 
    revert: true, 
    start: function(event,ui){ 
    unloadEditors(); 
    }, 
    stop: function(event,ui){ 
    loadEditors(); 
    } 
}); 
}); 
+0

이 솔루션은 끌기 동안 ckeditor 사라집니다. 더 나은 뭔가? – coorasse

관련 문제