PDA

Просмотр полной версии : Обработать нажатие клавиши Enter


cassius
18.02.2006, 07:33
Обрабатываю событие onChanged объекта TextField.
Каким образом я могу зафиксировать в нем нажатие клавиши Enter?
Использовал вариант с Key.getCode() - неполучилось.

Король
18.02.2006, 07:38
в хелпе есть работающий пример
искать - по Key.addListener()

cassius
18.02.2006, 07:54
Ну повешал я Listener, теперь Enter у меня ловится отовсюду, а не из моего поля...
Связать можно с TextField его?

Король
18.02.2006, 08:24
а условие в listener поставить по проверке фокуса на текстфилде не судьба?

cassius
18.02.2006, 09:15
Так...
Почему-то через объект TextField нельзя узнать в фокусе он или нет (если не гемороиться с onSetFocus и onKillFocus, меняя булиновую переменную).

Используя же Selection.GetFocus(), возвращающую указатель на объект с фокусом (напр. _level0.instField) и сравнивая его с указателем на сам объект (_level0.instField) не получается. Т.е. Selection.GetFocus() == this возвращает false, где this как раз и есть instField.

Так как узнать в фокусе TextField или нет (про RTFM ни слова :) )

Король
18.02.2006, 09:49
так, я что - фокусник, и у меня одного получается?
пример из хелпа:

var focus_ta:mx.controls.TextArea;
my_mc.onRelease = function() {};
my_btn.onRelease = function() {};

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
if (Key.isDown(Key.SPACE)) {
trace(Selection.getFocus()+newline+tex.text);
}
};
Key.addListener(keyListener);


на сцене создаем input text field с именем tex
нажимаем пробем - трейсим null
кликаем по текстфилду, ставя фокус - нажимаем пробел еще раз - трейсим "_level0.tex"
что и требовалось доказать

Antares
18.02.2006, 11:56
(про RTFM ни слова :) )
Промолчу