0

我在 Flex 3 应用程序中有一个 PopUpMenuButton。如果有人点击下拉部分,它工作正常。但是,如果他们点击主按钮部分,我会得到 ReferenceError: Error #1069。在用户消除错误后,它会执行它应该做的事情。

<mx:PopUpMenuButton
    id="myPopUpMenuButton2"
    label="Flip"
    labelField="@label"
    dataProvider="{myList2}" 
    itemClick="popUpMenuButtonClickHandler2(event);flipperPhotoSearcher1(event.item.@neigborhoodNum, event.item.@imageSeries);"
    click="defaultpopUpMenuButtonClickHandler2()"
/>


public function popUpMenuButtonClickHandler2(event:MenuEvent):void {
        mainViewStack.selectedChild = this[event.item.@chosen];
        myPopUpMenuButton2.label = event.item.@label;
        neighborhoodPopUpMenuButton.label = "Neighborhoods";
    }  


public function defaultpopUpMenuButtonClickHandler2():void {
        mainViewStack.selectedChild = home;
        myPopUpMenuButton2.label = 'Adams Morgan';
        flipperPhotoSearcher1(2,1);
        neighborhoodPopUpMenuButton.label = "Neighborhoods";
    }   

关于我做错了什么的任何想法?

谢谢你。

-拉克西米迪

4

1 回答 1

1

在代码的 MXML 部分中,单击处理程序必须像 itemClick 事件处理程序一样传递事件参数。

click="defaultpopUpMenuButtonClickHandler2()"
should be...
click="defaultpopUpMenuButtonClickHandler2(event)"
or, you could do this...
click="defaultpopUpMenuButtonClickHandler2(null)"

但是您的处理程序应该接收作为 MouseEvent 类型的事件,而不是 ItemClick。

public function defaultpopUpMenuButtonClickHandler2():void {
should be...
public function defaultpopUpMenuButtonClickHandler2(event:MouseEvent):void {

天气null过去与否。

于 2011-04-21T02:20:10.290 回答