2009-07-27 2 views
1

버튼 이벤트 호출을 백 스페이스 키보드 이벤트 삭제와 같은 기능을하는 함수로 만들까요?플렉스 : 백 스페이스처럼 작동하는 버튼

나는 dispatch 키보드 이벤트 "keyup" "keydown"을 keycode 8과 keynumber 8로 위장하려고 시도했다.

시작과 끝을 직접 사용하는 것 외에 다른 방법은 없습니다. 인덱스와 substr을 선택 하시겠습니까?

나는 textinput을 가지고 있는데, 그냥 백 스페이스처럼 작동하는 버튼을 추가하고 싶습니다.

감사

답변

1

당신은 ASCII 코드 8을 사용하고 문자로 번역 또는

이스케이프 문자 '\의 B'를 사용하거나 textFieldInstance 개체를 조작 할 수 있습니다

textFieldInstance.text = textFieldInstance.text.substr(0, -1); 

을 참조 :

http://board.flashkit.com/board/showthread.php?t=246003

0 12,342,295,

http://www.wipeout44.com/brain_food/flash_actionscript_goodies.asp

http://www.ultrashock.com/forums/actionscript/deleting-chars-in-a-text-field-e-g-backspace-124649.html

+0

? .text.substr (0, -1); 실 거예요. – coulix

+0

사용자가 입력 한 단어를 시뮬레이트하면 \ b 선택한 단어가 삭제되지 않아야합니까? –

+1

유용합니다. 'KeyboardEvent'에 대한'keyCode'와 같은'Keyboard.BACKSPACE'는 충분하지 않습니다. 또한'\ b "'charCode' – user1875642

0

당신이 시도 할 수 :

나는 5char 긴 단어를 선택하고 백 스페이스를 재생하려고하면 어떻게
function delSelected(textFieldInstance:TextField):void { 
    var bIndex:int = textFieldInstance.selectionBeginIndex; 
    var eIndex:int = textFieldInstance.selectionEndIndex; 
    if (bIndex == eIndex) { 
    textFieldInstance.text = textFieldInstance.text.substr(0,-1); 
    } else { 
    var a:String = textFieldInstance.text.substr(0,bIndex); 
    var b:String = textFieldInstance.text.substr(eIndex); 
    textFieldInstance.text = a+b; 
    } 
}