2010-08-10 3 views
0

Я работаю над проектом AS3 только в Flex .... Я пытался прослушать событие ENTER при использовании щелчков ввода/возврата в моем текстовом поле .... но кажется, что он не работает. .. Я попытался использовать TextEvent.TEXT_INPUT, и он работал нормально, но не Component.ENTER ... любая помощь ??? Большое спасибо!!Событие TextInput Component не работает

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. Вместо того, чтобы сообщать вам об изменении события, я должен был сказать вам изменить обработчик событий. Я понимаю, что вы пишете проекты AS3 с помощью Flex, поэтому я сначала посмотрел на TextField!

Я не уверен, если вы можете использовать класс TextInput в проекте AS3, так как это часть рамки Flex ...

в этом случае вы, возможно, придется вернуться к MouseEvent, но не вызываемые TextField, но с помощью простой кнопки «Поиск»

+0

гм ... его еще не работает ..... – FlyingCat

+0

Я не думаю, что нажимаю на textInput - это то, что я хочу ....... Спасибо, хотя .. – FlyingCat

0

Событие, которое вы ищете, это 'change'/flash.events.Event.CHANGE, которое отправляется при изменении значения управления. Гибкая документация здесь весьма полезна: Flex 3 TextInput

0

Если вы хотите, чтобы пользователь нажал кнопку ENTER, вы должны использовать событие keyDown. В противном случае (как упоминалось выше) вы можете использовать событие change.

Как вы используете TextField-компонентная правильную документацию является link text

TextInput-компонент имеет также valueCommit-событие, может быть, вы можете использовать этот ...

Смежные вопросы