Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Всплывание событий (http://www.flasher.ru/forum/showthread.php?t=119780)

petav 30.12.2008 14:56

Всплывание событий
 
Здравствуйте!
В JavaScript это решалось cancelBuble. А вот как во Flash....?

1) Создал MovieClip
2) Указал имя класса этому клипу.
3) Добавил в ролик
3) В клипе есть несколько объектов
4) Затем делаю так (Хочу что бы внедренный клип можно было перетаскивать):
Код AS3:

this.addEventListener(MouseEvent.MOUSE_UP, onMOUSE_UP);
this.addEventListener(MouseEvent.MOUSE_DOWN, onMOUSE_DOWN);
 
 
private function onMOUSE_DOWN(event:Event):void {
  event.target.startDrag(true);
}
 
private function onMOUSE_UP(event:Event):void {
  event.target.stopDrag();
}

И получается что все объекты в пределах этого MovieClipa тоже "таскаються". Как запретить всплытие события?

Добавлено через 3 минуты
Пока я решил это вот таким кодом:
Код AS3:

private function onMOUSE_DOWN(event:Event):void {
  if (event.target == this)        {
    event.target.startDrag(true);
  }
}
 
private function onMOUSE_UP(event:Event):void {
  if (event.target == this)        {
      event.target.stopDrag();
  }
}


etc 30.12.2008 20:11

stopPropagation

petav 30.12.2008 22:32

__etc, большое спасибо. Теперь вспоминаю что cancelBuble это для IE, а stopPropagation по стандарту W3C.

Вот ссылочка на пример


Часовой пояс GMT +4, время: 15:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.