作者Senkousha ( )
看板Flash
標題[問題] 如何分辨觸發 event 的 children 的類別?
時間Tue Dec 28 09:41:51 2010
一直都有這個問題,就是比如說一個 menu 底下有許多不同按鈕,
想要掛一個集中管理的 click handler 在 menu 上,
取得按鈕相對位置之類,從 parent menu 層很容易就知道的資訊,
但是各個按鈕上可能有許多裝飾或字之類的東西,
click event 的 target 往往都是底層的 child,
不知一般都是怎麼樣得到按鈕的資訊?
目前想到的一個作法是讓按鈕自己接收 click event 之後
傳出夾帶資訊的 custom event,menu 只偵聽這種 custom event 就好了,
但是讓一個單純的 mouse click event 跑到底下,
又 dispatch 出另一個新的 button event,
重新從 root 跑回到 parent 來接,總覺得好像太冗長了qq
想請問有沒有不讓 child 預設知道自己 parent 是誰,
又不用製作 / 使用其它的通知系統 (單純用 as3 event flow) 的好方法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 139.175.68.252
→ STARGAZERs:看不太懂說@@" 我都直接看 target.name 當作分類阿 12/28 13:39
推 scars:可設定menu層中每個物件的mouseChildren=false 12/28 14:08
→ scars:這樣去trace event.target 就會是menu層裡的物件 12/28 14:09
→ scars:而不是那個物件的children 12/28 14:10
→ scars:又或者用迴圈去找target的parent,直到其parent是menu 12/28 14:11
→ Senkousha:container是Sprite的話好像就不能讓mouseChildren=false 12/29 00:38