Как обратиться к объекту, который был нажат, но не к дочерним элементам внутри него? - PullRequest
0 голосов
/ 05 августа 2011

внутри функции MouseEvent.CLICK я обычно использовал e.target для обращения к мувиклипу, по которому я щелкнул, но он работает только с мувиклипом, у которого нет дочерних элементов (таких как текст и другие символы) внутри. Когда в нем есть дети, e.target возвращает ребенка внутри Mc, но не самого Mc. E.currentTarget тоже не работает; он вернул [объект MovieClip], но не имя экземпляра Mc. Можно ли как-нибудь это исправить? спасибо.

Ответы [ 3 ]

2 голосов
/ 05 августа 2011

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 = красный

2 голосов
/ 05 августа 2011

Чтобы получить имя экземпляра, вам понадобится e.currentTarget.name.

1 голос
/ 05 августа 2011

Установите mouseChildren намеченной цели на false, чтобы остановить события, распространяющиеся на потомков MovieClip.

...