[問題] 如何分辨觸發 event 的 children 的類別?

看板Flash作者 ( )時間15年前 (2010/12/28 09:41), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
一直都有這個問題,就是比如說一個 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

12/28 13:39, , 1F
看不太懂說@@" 我都直接看 target.name 當作分類阿
12/28 13:39, 1F

12/28 14:08, , 2F
可設定menu層中每個物件的mouseChildren=false
12/28 14:08, 2F

12/28 14:09, , 3F
這樣去trace event.target 就會是menu層裡的物件
12/28 14:09, 3F

12/28 14:10, , 4F
而不是那個物件的children
12/28 14:10, 4F

12/28 14:11, , 5F
又或者用迴圈去找target的parent,直到其parent是menu
12/28 14:11, 5F

12/29 00:38, , 6F
container是Sprite的話好像就不能讓mouseChildren=false
12/29 00:38, 6F
文章代碼(AID): #1D6K1XQu (Flash)