2011-03-21 8 views
0

Adobe Flex 3에서 이로 인해 문제가 발생합니다. 같이 IndexOf는 HTML 태그를 고려하지만, setSelection하지 않기 때문에htmlText로 Flex 3 setSelection

textArea.setSelection(textArea.htmlText.indexOf('testString'), textArea.htmlText.indexOf('testString') + 10); 

이는 잘못된 위치에 커서를 둔다.

누구든지이 작업을 수행하는 방법을 알고 있습니까? 간단한 방법은/< [^>] *>/g 정규식이지만 매번 작업을 수행하지 않습니다.

도와주세요.

앤드류

+0

htmlText 대신 텍스트를 사용하면 어떻게됩니까? textArea.text.indexOf ('testString'). 이론적으로 'setSelection'이보고있는 것과 같은 텍스트를 제공해야합니다. – JeffryHouser

답변

0

대신이 시도 :

textArea.setSelection(textArea.text.indexOf('testString'), textArea.text.indexOf('testString') + 10); 

을 대신 '는 htmlText', 당신은 HTML 태그를 제거하고의 '텍스트'속성을 사용하여. 또한, 나는 2 개의 색인 검색을 사용하지 않을 것이고, 그것은 효율적이지 않다. 사용해보기 :

var string:String = 'testString'; 
var index:int = textArea.text.indexOf(string); 
textArea.setSelection(index, index + string.length); 
+0

Alert.show (textArea.text)가 올바른 html 텍스트를 표시하는 이유는 알 수 없지만 Alert.show (textArea.text)는 빈 문자열을 표시합니다. – andrewpthorp

+0

귀하의 답변이 이상적이기 때문에 올바른 것으로 표시하십시오. 죄송합니다. 너무 오래 걸렸습니다! – andrewpthorp