2012-01-27 1 views
2

У меня есть фильм клип с именем Button1 и в этом фильме клипа есть динамический текст с именем TXT3 event.target ActionScript

public function mouse_down(event:MouseEvent) 
     { 
     if(event.target==button1) 
     { 
     ...//this only recognizes when i click the button without intersecting the dynamic text area 
     } 
     if(event.target==button1||event.target==button1.txt) 
     { 
     ...//this works 
     } 

я хотел бы знать, почему он dosen't признать клики, сделанные в область, которая содержит динамический щелчок, если я не укажу его, потому что txt является частью кнопки1, поэтому обычно мне нужно будет только проверить, является ли цель кнопкой1, но она не работает: мне также нужно проверить, button1.txt

Спасибо за помощь!

ответ

10

event.target всегда указывает на объект, из которого возникло событие, даже если оно вложено в объект, к которому вы добавили слушателя. Вместо этого используйте event.currentTarget.

Отъезд this blog post, чтобы узнать больше.

+0

Проблема в том, что кнопка1 уже находится в мувиклипе с именем main_menu, так что текущая цель распознает main_menu как цель – John

+3

Вы также можете установить 'mouseChildren = false' на button1, после чего клики больше не будут подхватываться текстом поле. – weltraumpirat

 Смежные вопросы

  • Нет связанных вопросов^_^