代码之家  ›  专栏  ›  技术社区  ›  alvincrespo

TLFTextField的焦点输出事件

  •  1
  • alvincrespo  · 技术社区  · 16 年前

    我遇到了一个问题,当我在舞台上点击时,我没有得到一个“焦点”事件。当我单击tlftextfield时,我会得到“focus-in”事件。不知道问题可能是什么,任何提示或想法都是很好的。我已经做了一些谷歌搜索,但没有发现任何有用的东西。

    以下是我的一些代码:

    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 回复  |  直到 16 年前
        1
  •  0
  •   gMale    16 年前

    首先,我建议,试着玩这四个

    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);
    

    然后,您可以通过在其他地方添加监听器来解决焦点事件等事件。例如,如果焦点是 在 在一个物体上,这意味着 出 所有其他的。当我写这样的东西时,我有时会用到这个事实。通常情况下,我可以只使用一个或另一个事件。你可能不需要两者。