Событие Focus Out для TLFTextField - PullRequest
1 голос
/ 09 июля 2010

У меня проблема с тем, что я не получаю событие "FOCUS_OUT", вызываемое при щелчке по сцене. Я получаю событие "FOCUS_IN", когда нажимаю TLFTextField. Не уверен, что проблема может быть, любые намеки или идеи будут отличными. Я уже делал некоторые поиски в Google, но не нашел ничего полезного.

Вот часть кода, который у меня есть:

txt_search.addEventListener(FocusEvent.FOCUS_IN, onFocusIn);
txt_search.addEventListener(FocusEvent.FOCUS_OUT, onFocusOut);

private function onFocusOut(e:FocusEvent):void
    {
        trace("--Search Field-- :: FocusOut");
        if(txt_search.text == '')
        {
            txt_search.text = _defaultText;
        }
        else
        {
            //do nothing
        }
    }

private function onMouseEvent(e:MouseEvent):void
{
    if(txt_search.text != '' && txt_search.text != _defaultText)
    {
        //do search
        trace("--Search Feeds--");
    }
    else
    {
        //do nothing
    }
}

Спасибо!

1 Ответ

0 голосов
/ 09 июля 2010

Во-первых, я предлагаю попробовать поиграть со всеми четырьмя из них

txt_search.addEventListener(FocusEvent.FOCUS_IN, inHandler);
txt_search.addEventListener(FocusEvent.FOCUS_OUT, outHandler);
txt_search.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
txt_search.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);

Затем вы всегда можете работать с такими событиями, как события фокуса, добавляя слушателей в другом месте. Например, если фокусировка IN на одном объекте, это означает, что OUT на всех остальных. Я использую этот факт иногда, когда пишу такие вещи. Часто я могу сойти с рук, используя только одно событие или другое. Вам может не понадобиться оба.

...