你在這裏做的是爲每個監聽器創建一個單獨的匿名函數對象。這沒有多大意義,因爲事件處理程序的代碼對於所有的偵聽器都是相同的。也許你正在嘗試傳遞一些數據以及每個事件處理程序,以便能夠分辨哪些剪輯已被觸發。有很多更好的方法可以實現這一點,而無需爲每個偵聽器創建單獨的處理程序。
無論如何,爲了能夠隨時刪除監聽器,您必須在某個地方持有對您的處理程序的引用。例如,你可以聲明一個事件處理函數,並將它的引用傳遞給所有的監聽器(你最好在文檔類中聲明它,但它也適用於時間線代碼)。
var eventHandler:Function = function(e:MouseEvent):void
{
var target:MovieClip = e.target as MovieClip;
tasiSuruklemeyeBasla(e,target,1,1);
target.removeEventListener(e.type,arguments.callee);
};
myMvc.addEventListener(MouseEvent.MOUSE_DOWN, eventHandler);
// you can do that any time
myMvc.removeEventListener(MouseEvent.MOUSE_DOWN, eventHandler);
http://stackoverflow.com/questions/10432651/removing-event-listener –