通常都會用使用一個變數來把物件new出來,
並在這物件上加入監聽事件
例
var myBtn:Button=new Button()
myBtn.addEventListener(MouseEvent.CLICK,someThingToDo);
這個已宣告的變數myBtn,已經指向了這個被產生出來的物件如果在之後的程式做了以下動作可能會發生的狀況如下
1.在未移除原先產生物件的狀況下,若再使用同樣變數再產生物件
myBtn=new Button()
myBtn.addEventListener(MouseEvent.CLICK,doAnothingThing);
則只是把變數指到新的物件,原先的物件並不會被清除掉畫面上會有多個物件同時並存
若還有監聽事件,則當Click任一物件時都會同時觸發所有被監聽的事件
2.若將變數設定成null再重新產生物件
myBtn=null;
myBtnButton=new Button();
畫面上還是會保有多個物件只是每個物件被click時只會觸發最後設定的那個listener
而非多個listener被觸發
沒有留言:
張貼留言