2010-08-10 4 views
0

Flex에서 AS3 전용 프로젝트로 작업 중입니다 .... 사용하는 클릭/내 textinput 상자 반환 때 Enter 이벤트를 수신하려고했는데 .... 잘 작동하지 않는 것 같습니다. .. 나는 TextEvent.TEXT_INPUT을 사용해 보았지만 제대로 작동했지만 Component.ENTER가 아니 었습니다 ... 어떤 도움 ??? 고마워요 !!TextInput 구성 요소 이벤트가 작동하지 않습니다.

import fl.events.ComponentEvent; 
    searchInput=new TextField(); 
     searchInput.type=TextFieldType.INPUT; 
     searchInput.background=true; 
     searchInput.backgroundColor=0xecffee; 
     searchInput.defaultTextFormat=TF; 
     searchInput.width = 200; 
     searchInput.height=16; 
     searchInput.x=50; 
     searchInput.y=180; 
     addChild(searchInput); 
     searchInput.addEventListener(ComponentEvent.ENTER, testEnter); 


    } 
    private function testEnter(e:ComponentEvent):void{ 
     if(searchInput.text!=null){ 
      beginSearch(searchInput.text); 
     } 

답변

0
searchInput.selectable = true; 

어쩌면

searchInput.mouseEnabled = true; 

다음이 시도 :

searchInput.addEventListener(MouseEvent.CLICK, testEnter); 

private function testEnter(event:MouseEvent):void 
{ 
} 

미안 해요, 난 비트가 하나에 너무 빨랐다 ... 여기

그것이

searchInput=new TextInput(); 

TextField는 UIComponent 클래스를 확장하지 않으므로 ComponentEvent를 처리 할 수 ​​없습니다. 이벤트를 변경하라는 대신 이벤트 핸들러를 변경해야한다고 말했어야합니다. 필자는 Flex를 사용하여 AS3 프로젝트를 작성하므로 먼저 TextField를 살펴 보았습니다. 당신이 Flex 프레임 워크의 일부 년부터 AS3 프로젝트의 TextInput 클래스를 사용할 수 있는지 확실하지 않습니다

... 당신이 할 수있는 경우에

MouseEvent입니다으로 되돌아하지만 트리거하지 않도록 TextField하지만 간단한 '검색'버튼으로

+0

흠 ... 그 여전히 ..... 작동하지 않는다 ..... – FlyingCat

+0

나는 textInput이 내가 원하는 것을 ....... 고맙다고 생각한다. – FlyingCat

0

찾고있는 이벤트는 제어 값이 수정 될 때 전달되는 'change'/flash.events.Event.CHANGE입니다. flex 문서는 여기에서 매우 유용합니다 : Flex 3 TextInput

0

사용자를 들으려면 ENTER를 누르십시오. keyDown-event를 사용해야합니다. 그렇지 않으면 (또한 언급 한 바와 같이) change-event를 사용할 수 있습니다. 당신은 텍스트 필드 구성 요소를 올바른 문서를의 TextInput 구성 요소는도를 valueCommit 이벤트를 가지고 link text

되어 사용되기 때문에, 어쩌면 당신이 하나를 사용할 수 있습니다

...

관련 문제