2010-07-09 4 views
1

무대 주변을 클릭하면 "FOCUS_OUT"이벤트가 발생하지 않는 문제가 있습니다. TLFTextField를 클릭하면 "FOCUS_IN"이벤트가 발생합니다. 문제가 무엇인지 모릅니다. 힌트 나 아이디어가 좋을 것입니다. 나는 이미 몇몇 수색을하고, 그러나 유용한 아무것도 확실히 찾아 내지 않았다.TLFTextField의 포커스 아웃 이벤트

여기에 코드의 일부는 내가 가지고있다 :

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 
    } 
} 

감사합니다!

+0

"FOCUS_OUT"이벤트는 탭하면 호출됩니다. 내가 사용해야하는 다른 이벤트 리스너가 있습니까? – alvincrespo

답변

0

첫째, 나는 제안, 그 다음이

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을 의미합니다. 나는 이런 일을 쓰고있을 때 때때로 그 사실을 사용합니다. 종종 하나의 이벤트 만 사용하여 도망 갈 수 있습니다. 둘 다 필요하지 않을 수도 있습니다.

관련 문제