2011-08-05 20 views
0

在MouseEvent.CLICK函數中,我通常使用e.target來解決單擊的movieClip,但只適用於沒有任何子項(例如文本和其他符號)的movieClip。當裏面有孩子的時候,e.target會讓孩子回到Mc內部,但不是Mc本身。 e.currentTarget也不起作用;它返回[object MovieClip],但不返回Mc的實例名稱。無論如何,我可以修復它嗎? 謝謝。如何解決已被單擊的對象,但不是其中的兒童?

+0

你需要在兒童中進行任何用戶交互嗎?如果不是,則可以通過設置mc.mouseChildren = false來禁用兒童的交互 – taskinoor

回答

2

要獲取實例名稱,您需要e.currentTarget.name

2

e.target =已被點擊的元素。

e.currentTarget =表示監聽者已註冊的元素。

假設含有藍色框紅色的框:

red.addEventListener(MouseEvent.MOUSE_CLICK, redClick); 

如果單擊紅色框(內藍色的以外):

e.target =紅色

e.currentTarget =紅色

如果您點擊藍色框:

e.target =藍色

e.currentTarget =紅色


爲了防止您的藍色方塊調度點擊事件,你可以禁用鼠標事件的子元素:

red.mouseChildren = false; 

如果然後點擊藍色框:

e.target =紅色

e.currentTarget預定目標=紅色

1

設置mouseChildrenfalse停止傳播到MovieClip的孩子的事件。