我有一个问题,当我在舞台周围单击时,我得不到一个名为"FOCUS_OUT“的事件。当我单击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
}
}谢谢!
发布于 2010-07-10 02:56:21
首先,我建议,尝试尝试所有这四个
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。当我写这样的东西时,我有时会用到这个事实。通常,我可以只使用一个事件或另一个事件。您可能不需要两者都需要。
https://stackoverflow.com/questions/3214676
复制相似问题