전공은 자바이나 플렉스(FLEX)로 개발할일이 생겨 플렉스로 개발중이다..ㅡ,.ㅡ

개발요청은 텍스트박스에 입력된 내용을 드레그 해서 "변환" 버튼을 클릭하면 글자 양끝에

<b></b> 테그를 입력하는 것이다.

FLEX 전공자들이야 금방 하겠지만 이건머.. 커서 위치값을 어떻게 가져오는건지...

2시간의 구글링 끝에 결국 해결..!!

 

<mx:Button id="btnReplace" label="변환" click="inputTag()" width="70" />

<mx:TextArea id="ta1" text="이 블로그는 티스토리 블로그 곰팡이 입니다."
        textAlign="justify"
        condenseWhite="true"
        width="100%"
        height="100%"
        verticalScrollPosition="0" />

------------------------------------------------------------------------------------------------

private function inputTag():void{
    var startIndex:Number = ta.selectionBeginIndex;
    var endIndex:Number = ta.selectionEndIndex;
 
    if(endIndex == 0){
        Alert.show("선택된 텍스트가 없습니다.");
        return;
    }
 
    var blockText:String = "<b>" + fullStr.substring(startIndex, endIndex) + "</b>";
    var replaceStr:String = fullStr.substring(0, startIndex) + blockText + fullStr.substring(endIndex, ta.length);
 
    ta.text = replaceStr;
}

 

selectionBeginIndex 를 하면 선택된 블록의 첫번째 위치값을 가져온다.

selectionEndIndex 를 하면 선택된 블록의 마지막 위치값을 가져온다.

 

이렇게 해서 중간에 <b></b>태그를 넣으면 된다..

 

Flex.. 어렵다..ㅠ

 

+ Recent posts