2012-11-10 4 views
2

Wpres의 편집자에서 선택한 텍스트를 가져 오는 방법을 알아 냈습니다 :편집기에서 무엇인가 교체 하시겠습니까?

텍스트 작업을 링크로 바꾸고 어떻게 도움이 될지 모르겠습니다.

+0

'jQuery를 ("#의 content_ifr")를 교체 선택

tinymce.get('your_editor_id').selection 

얻기 ("contentWindow")를 소품 대해 getSelection(). toString()'이 저에게 효과적입니다. 그 위치가 쉽지는 않습니다. 정확히 위치에서 무엇을 의미합니까? 그것은 단지 색인 일 뿐이라는 평범한 텍스트 영역이 아닙니다. – pimvdb

+0

준비가 완료되면 아무 것도 선택되지 않았을 것입니다. 따라서 빈 경고가 표시됩니다. 뭔가를 선택한 후에 실행해야합니다. – pimvdb

+1

텍스트를 대체하는 나의 답을보십시오 - 당신은'anchorNode' 요소를 얻어야합니다. @pimvdb가 정확하다. 선택된 텍스트가 없으므로이 이벤트를'document.ready()'에 붙일 수없고 에디터는 아직 셋업되지 않을 것이다. – doublesharp

답변

1

당신이 시각적 편집기에서 현재 선택한 텍스트의 텍스트 값을 얻고 싶다면 : 새 값으로 선택한 텍스트를 바꾸려면

var content = jQuery("#content_ifr").prop("contentWindow"); 
var selected = content.getSelection(); 
var selectedText = selected.toString(); 

, 바로 위의 변수 이외에 이것을 사용 :

var linkText = "<a href='yourlink.html'>"+selectedText+"</a>"; 
jQuery(selected.anchorNode).replaceWith(linkText); 
0

E :

var newText = "This is the new text"; 
jQuery(selected.anchorNode).replaceWith(newText); 

또는 링크를 사용하고자하는 당신의 경우

TinyMCE를 API를 사용하여 ASY 방법 :..

가 선택

tinymce.get('your_editor_id').execCommand('insertHTML',false,'your text') 
관련 문제