因为一般的菜单是点击菜单栏相应项后,出现一个下拉菜单,再点击下拉菜单中的MenuItem后才会响应。
但是如果像如下方式定义了MenuBar的数据源:
然后加一个MenuBar:
效果如下(上面的数据源的代码截断了):
不仅需要对计划管理下级的submenu项响应,也需要仅对“首页”这个根层(虽然严格来说这个不是XML中的根)的菜单项响应。
如果仅对MenuBar的itemClick事件做监听器的绑定,则点击“首页”这一项时,无法响应。因为Flex不认为这一项是MenuItem。
解决的办法是,添加两个事件处理:
然后在changeHandler()函数中添加判断,如果事件源是“首页”项,则进行显示首页的操作;否则,return。
然后,在menuItem_clickHandler()添加其他MenuItem的响应逻辑。