[問題] 關於事件移除

看板Flash作者 (星之影)時間15年前 (2010/07/18 18:27), 編輯推噓4(4013)
留言17則, 4人參與, 最新討論串1/2 (看更多)
Flash 在每個物件加入場景的時候要使用 addchild 這指令 每個物件又可以擁有好幾個監聽事件 addEventListener(Event, fun) 移除事件的時候要使用 removeEventListerer(Event, fun); 一直以來對於這點有些疑惑 當我把物件 removeChild 系統應該要自動釋放記憶體 (在沒有其他監聽的狀況下) 如果還有監聽系統就無法自動釋放記憶體 到以上的概念不知道是否有誤!!!!! 重點就在.... 解除監聽的時候一定要知道是什麼事件 還有 fun.... 有沒有甚麼辦法在不知道的情況下解除監聽阿??? 還有一個小小問題是... 如果是 fun (e:MouseEvent) { } 有沒有辦法用指令強制觸發這個 function ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.116.184

07/18 18:54, , 1F
fun(new MouseEvent("")); 這樣應該就觸發了
07/18 18:54, 1F

07/18 21:19, , 2F
局訂什麼時候解除listener是程式設計師自己的責任
07/18 21:19, 2F

07/18 21:20, , 3F
想偷懶就設addEventListener的weakReference參數為false
07/18 21:20, 3F

07/19 11:50, , 4F
恩... 感謝 CJ 大指導!!
07/19 11:50, 4F

07/19 11:50, , 5F
不過我剛剛查了一下 adobe !!
07/19 11:50, 5F

07/19 11:51, , 6F
useWeakReference:Boolean (default = false)
07/19 11:51, 6F

07/19 11:51, , 7F
所以是原場寫錯還是我該設定成為 true ??
07/19 11:51, 7F

07/19 11:51, , 8F
我也很想自己解除... 可是這樣有點難搞...
07/19 11:51, 8F

07/19 11:52, , 9F
幾乎是每種分頁都要特定寫一次 觸發移除很亂說 ><"
07/19 11:52, 9F

07/19 12:13, , 10F
E 大 請問這樣子我有辦法指定 target 嗎?
07/19 12:13, 10F

07/19 12:15, , 11F
還是說我該創造一個 MouseEvent ....
07/19 12:15, 11F

07/19 14:59, , 12F
或許可以先弄一個 MouseEvent 把 target 都設好再丟?
07/19 14:59, 12F

07/19 17:33, , 13F
聽起來是個好主意 我等等測看看...
07/19 17:33, 13F

07/19 17:33, , 14F
感謝 E 大 還有 CJ大 ~
07/19 17:33, 14F

07/19 17:36, , 15F
打錯,要設成true才對...
07/19 17:36, 15F

07/20 09:57, , 16F
在 removedFromStage 時,remove 所有 event listener
07/20 09:57, 16F

07/20 17:15, , 17F
意思是利用 remove Event 即使沒有 也不會出錯來做?
07/20 17:15, 17F
文章代碼(AID): #1CGjSciO (Flash)
文章代碼(AID): #1CGjSciO (Flash)