我应该使用哪种轻量级的 InteractiveObject 实现来跟踪 flex 中的鼠标焦点?

Which implementation of InteractiveObject that is lightweight should I use to keep track of mousefocus in flex?

我有一个 spark List 控件,它在 ListEvent.ITEM_ROLL_OVER 事件中显示一个副列表。基本上它显示了您悬停的项目的内容。我也会使用 ListEvent.ITEM_ROLL_OUT 再次隐藏它,但我希望用户也能够点击它(侧边列表)。

所以,我使用 MouseEvent.ROLL_OUT 并检查 event.relatedObject 的 ID 以查看光标去了。我添加了一个不可见的矩形来覆盖稍大一点的边栏,因此它首先获得焦点。但事实并非如此。

谷歌搜索,我认为 Spark Rectangle 无法获得焦点,因为它没有实现 InteractiveObject。我应该使用什么?

我的逻辑:

protected function listOUT(event:MouseEvent):void
{
     var obj:Object = event.relatedObject;
     if (obj.id != "focusRect")
     {
         sidelist.visible = false;
     }
}

我的努力是在用户将光标从主列表移动到副列表时保持副列表可见。 也欢迎在我的方法之外提出任何其他建议。

更新 (图片link) Red are the invisible Buttons

  • 在roll_overselect主列表中的项目,显示副列表 基于主列表中的 select编辑项。
  • 当主列表中没有 select 项目时隐藏副列表。
  • 如果副列表失去焦点,则在主列表中删除select 个项目。

另外mx.core.UIComponent是调度焦点事件的最轻组件。