Итак, вот решение, которое я придумала, которое работает очень хорошо. У меня есть функция с именем add()
, которая была назначена на applicationComplete
. В эту функцию я включаю:
this.skin.addEventListener( MouseEvent.MOUSE_UP, loseFocus );
Какие звонки:
private function loseFocus( e : MouseEvent ) : void
{
if ( e.eventPhase == EventPhase.AT_TARGET )
{
this.focusManager.deactivate();
}
}
Достаточно просто, и делает то, что искал. Фильтр «Фаза» необходим, чтобы другие компоненты не регистрировали щелчки.
В качестве важного примечания: this.skin
должна быть целью события. Этап никогда не подвергается воздействию мыши в приложении Flex.
Пример кода приложения
Если у кого-то есть лучшее решение, предложите его!