2012-11-15 3 views
29

나는 TinyMCE Editor에 초점이 맞춰진 단락 요소 (<p>)에 텍스트를 삽입하려고 시도했지만 커서는 아무런 운이 없다!커서가있는 곳의 TinyMCE Editor에 텍스트 삽입하기

var elem = tinyMCE.activeEditor.dom.get('tinymce'); 
var child = elem.firstChild; 
while (child) { 
    if (child.focused) { 
     $(child).insertAtCaret("some text"); 
    } 
    child = child.nextSibling; 
} 

누구든지이 문제를 해결하는 방법에 대해 알고 있다면 매우 감사 할 것입니다.

+0

참조 http://stackoverflow.com/questions/13849115/insert-text-at-current-position-tinymce-ie9 – zhizhideng

답변

68

mceInsertContent 명령을 사용해야합니다. TinyMCE documentation을 참조하십시오.

tinymce.activeEditor.execCommand('mceInsertContent', false, "some text"); 
+0

고맙습니다. 나는 행운이있는 2 일 동안 이것을하려고 노력하고 있었다! !! – Ruba

+1

하지만 다른 도움이 필요합니다! IE 브라우저에서 텍스트는 항상 처음에 삽입됩니다! 나는 어떻게해야합니까? – Ruba

+1

IE7과 IE8에이 코드 라인을 아무런 문제없이 사용합니다. TinyMCE는 IE6 +에서 작동합니다. 어쩌면 당신의 문제는 다른 곳에있을 수 있습니다. – Magus

9

위의 대답은 좋지만 HTML을 삽입하는 데 사용할 수 있습니다. 예를 들어

:

tinymce.activeEditor.execCommand('mceInsertContent', false, " <b>bolded text</b> "); 

는 현재 커서 위치에 굵게 표시된 텍스트를 삽입합니다.

일부 다른 흥미로운 관찰 :

mceInsertRawHTML도 작동하지만, TinyMCE에 내 버전에서 현재 행의 시작 부분에 있지만, YMMV 커서를 넣어하는 경향이있다.

mceReplaceContent도 작동하지만 커서가 현재 콘텐츠의 끝에있을 때 제 경우에는 제대로 작동하지 않았습니다.

자세한 내용은 the documentation을 다시 참조하십시오.