2011-10-13 5 views
0

좋아, div를 클릭하면 div를 클릭하고 텍스트 영역을 삽입 한 다음 해당 텍스트 영역에 tinyMCE 제어를 추가합니다. 그러면 wsgi 편집기를 입력하고 저장을 눌러 저장합니다.TinyMCE Interst 기존 HTML

그런 다음 html 양식 tinyMCE 편집기가 저장되고 textarea 및 tinyMCE 요소가 제거되고 tinyMCE의 html이 div에 다시 삽입됩니다.

멋지다. 지금 div로 HTML을 클릭하면 tunyMCE 편집기에 HTML이 표시되기를 바란다.

이것은 내가 한 일이지만 일단 div를 클릭하면 html을 추가 한 다음 제거합니다. 왜 이런 일이 발생합니까?

 // Click on the div element 
    $(".editable").live("click", function(e){ 

     var f = $(this); 
     // get the html if it is there 
     html = f.html(); 
     // insert a textarea with a unique id 
     f.html('<textarea class="item_html" id="'+ e.timeStamp +'"></textarea> ') 
     f.css("height","100%") 
     //add tinyMCE control to the textarea 
     tinyMCE.execCommand(
      'mceAddControl', 
      false, 
      f.find("textarea").attr("id") 
     ); 
     // if there was html insode the div clicked on, add it into the editor 
     tinyMCE.execCommand(
      'mceInsertContent', 
      false, 
      html 
     ); 
    }); 
+0

당신은 이것을 위해 바이올린을 만들 수 있습니까? (http://jsfiddle.net) – Thariama

+0

여기에 http://jsfiddle.net/M3gNm/3/ – Harry

+0

div 요소를 클릭하십시오 – Harry

답변

1

// If there is html in the div clicked, add it to the mce editor 
if (html) { 
    tinyMCE.activeEditor.setContent('html'); 
} 

이 작동하고 편집기 인스턴스가 완전히 그 시간에 초기화되지 않기 때문에 오류가 발생하지 않습니다 부분입니다.

제가 변경 한 사항을 살펴보십시오. 여기 : http://jsfiddle.net/M3gNm/9/ 편집기 내용

+0

하지만 여전히 콘텐츠가 삭제 되었습니까? – Harry

+0

그것은 내 시스템에서 제거되지 않습니다. 어떤 브라우저를 사용하고 있습니까? – Thariama

+0

FireFox 최신 버전. 하지만 그것을 작동하게하는 또 다른 방법을 찾았습니다. – Harry