移除事件侦听 方法1:侦听Event.ADDED Event.REMOVED,Event.REMOVE_FROME_STAGE方法 Event.ADDED的时候,就添加您需要的侦听 Event. REMOVED的时候,就移除您需要的侦听 或者 Event.REMOVE_FROME_STAGE 的时候,就移除您需要的侦听
注意:侦听REMOVED的话,你的元件理由按钮,你就惨了。因为你的鼠标一移动到按钮上。你的mc就会接受到REMOVED。并且mc中只要有child remove掉。mc也会接受到REMOVED。 所以最好用 REMOVE_FROME_STAGE 适合用在,场景中经常用到的元件。如:好友列表,信息版面 方法2:使用 Public Class evtHolder extends Object{ Public var A Public var B Public var C Public function evtHolder(a,b,c):void{ A=a;B=b;C=c; } }
Var evtArray:Array=[]; //添加事件侦听到数组中 addMyListener(a,b,c):void{ if(a){ a.addEventListener(b,c); evtArray.push(new evtHolder(a,b,c));
} } //移除侦听 Var i:int=0 Var l:int= evtArray.length While(i++<l){ removeMyListener(evtArray[i].A, evtArray[i].B, evtArray[i].C) } removeMyListener(a,b,c):void{ if(a){ a.removeEventListener(b,c); } }
(责任编辑:admin) |