我希望有一个函数可以根据单击的switch / case按钮删除侦听器。我在舞台上有2个名为“btn01”和“btn02”的MC,并且有一个匹配名称的数组。
我希望btnRemove()
能够removeListener
到btn01
,如果是点击,或点击了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;
}}
答案 0 :(得分:1)
event.currentTarget是一个调用侦听器的对象,因此它将是你的按钮,你可以在currentTarget的帮助下删除侦听器,参见下一个代码:
fillvalue