根据单击按钮调用单个功能

时间:2018-04-27 18:49:45

标签: actionscript-3

我希望有一个函数可以根据单击的switch / case按钮删除侦听器。我在舞台上有2个名为“btn01”和“btn02”的MC,并且有一个匹配名称的数组。

我希望btnRemove()能够removeListenerbtn01,如果是点击,或点击了btn02。我该如何做到这一点?感谢。

var buttons = new Array(btn01, btn02);

for (var a=0; a<buttons.length; a++){
    buttons[a].buttonMode=true;
    buttons[a].addEventListener(MouseEvent.CLICK,buttonClick);
}

function btnRemove() {
    e.currentTarget.removeEventListener(MouseEvent.CLICK,buttonClick); //1120: Access of undefined property e
}

function buttonClick(e:Event):void{
switch(e.currentTarget.name){

    case "btn01":

    btnRemove(); //remove btn01 listener

    break;

    case "btn02":

    btnRemove(); //remove btn02 listener

    break;
}}

1 个答案:

答案 0 :(得分:1)

event.currentTarget是一个调用侦听器的对象,因此它将是你的按钮,你可以在currentTarget的帮助下删除侦听器,参见下一个代码:

fillvalue