Як зрозуміти, що подія виконалась саме на передплатнику?

Іноді нам потрібно знати чи подія виконалась на передплатнику чи прийшло внаслідок bubbling. Наприклад, нам потрібно відслідкувати натискання миші на stage, але нам потрібно знати напевно, що користувач натиснув саме на stage, а не на його child. Авжеж, ми можемо зробити

stage.mouseChildren = false;

але це частіше всього не підходить.

Можна зробити двома рівносильними способами.

В обробнику для stage виконаємо перевірку на рівність event.target з event.currentTarget:

  1. function stageClickHandler(event:MouseEvent):void
  2. {
    1. if(event.target != event.currentTarget)
      1. return;
    1. // Your code here
  3. }

Або перевіримо яка наразі фаза event flow. Якщо вона дорівнює 2 (target phase), тоді подія виконалась саме на stage. Інакше припиняємо виконання обробника:

  1. function stageClickHandler(event:MouseEvent):void
  2. {
    1. if(event.eventPhase != 2)
      1. return;
    1. // Your code here
  3. }

Докладніше про подійну модель в ActionScript 3.0 ви можете почитати у доповіді Кості Ковальова (російською).

Таґи: , ,

Коментарів: 50 to “Як зрозуміти, що подія виконалась саме на передплатнику?”

  1. Chapaev:

    я бы сказал не интересно, а разумно

  2. Междуреченск:

    Только вчера об этом думал, так что пост как нельзя в тему!

  3. Зырянов:

    Большой пост Занесу в закладки. С утра прочту

  4. Aksjonov:

    я бы сказал не интересно, а разумно

  5. Golovin:

    Отличная статья Спасибо огромное

  6. Истомин:

    Да, есть над чем задуматься. Спасибо!

  7. Jugancev:

    Подойдя к второму обзацу необходимо будет побороть в себе желание его пропустить

  8. Nosov:

    Как хорошо что удалось отыскать такой замечательный блог, и тем более отлично, что есть такие автора толковые!

  9. Юганцев:

    Хорошая работа!

  10. Олег:

    У автора очень приятный слог

  11. Пырьев:

    спасибо, прочитал на одном дыхании

  12. Медведев:

    Спасибо за статью, всегда рад почитать вас!

  13. Kulikov:

    Оценка 5, базару ноль

  14. Carev:

    Где-то я это уже видел… А если по теме то спасибо.

  15. Громов:

    Спасибо, интересно было прочитать.

  16. Перов:

    Спасибо за Ваш труд!!

  17. Izmajlov:

    весьма информативно,молодца!

  18. Domashev:

    А я на рассылочку подписался))) Буду всегда в курсе))))

  19. Leonov:

    красиво, сделал! Благодарю!!!

  20. Балашов:

    не информативно как- то

  21. Вазов:

    Вот мы в своих блогах пишем о себе, о жизни - это понятно. А когда речь заходит о известных личностях, не могут ли они засудить раскрученного блогера за то, что он упоминает известные имена, а роялти со своей прибыли им не платит?

  22. Путятин:

    Здорово!

  23. Абрамов:

    Мне кажется очень полезная штука

  24. Турбин:

    Спасибо, интересно было прочитать.

  25. Щукин:

    Действительно интересно. Хотелось бы еще чего-нибудь об этом же.

  26. Zadorozhnyj:

    Отлично написано. Позитива конечно не хватает, но читал на одном дыхании

  27. Belov:

    Вот скажите, класно же, что такие отличные посты есть в интернете. Автору большое спасибо!

  28. Трухин:

    Класно! Нашел, наконец толковый блог на просторах интернета) Ура!

  29. Tolstobrov:

    Спасибо, интересно было прочитать.

  30. Bobr:

    одумайтесь, многотысячная армия Ваших читателей не поймет Вас, не простит!

  31. Dementev:

    на края луны, без вины, без вина, она одна о_0 пробило еп*

  32. Mitrofanov:

    Сорри за оффтоп, кто-нить смотрел ролики на ютьюбе про конец света? Ну, про андронный колайдер Ваще страшно!

  33. Silvestrov:

    И придратся не к чему, а я так люблю покритиковать…

  34. Федор:

    Хорошая работа!

  35. Blohin:

    Я извиняюсь, что немного не в тему, а что такое RSS? и ка на него подписаться?

  36. Чеботарёв:

    Ваще не вдохновило(((

  37. Завражин:

    Как хорошо что удалось отыскать такой замечательный блог, и тем более отлично, что есть такие автора толковые!

  38. Remizov:

    Спасибо. Прочитал с интересом. Блог в избранное занес=)

  39. Гаврилов:

    Все-таки потрясное изобретение - блог. Казалось бы обычный сайт, но изменили подачу информации, передали сайт в руки одного человека и открылась еще одна грань общения с миром.

  40. Firsov:

    Где-то я это уже видел… А если по теме то спасибо.

  41. Sluchevskij:

    Здравствуй! Спасибо за подаренные хорошие эмоции…

  42. Bogatyrjov:

    Пост не однозначный. нельзя бросаться в крайности.

  43. Потёмкин:

    Очень познавательно. Спасибо.

  44. Кашканов:

    Шрифт трудно читается у вас на блоге

  45. Максимушкин:

    Что ж… и такое мнение допустимо. Хотя, думаю, возможны и другие варианты, так что не огорчайтесь.

  46. Чесноков:

    Здорово!

  47. Чижиков:

    Кругом война, смерть, глупость, а вы тут… сами знаете, чем занимаетесь.

  48. Shvedov:

    Как Вы смотрите на то, что бы написать в блоге свое мнение по поводу конфликта Россия-Грузия (создать для этого какой-то раздел типа “гарячие обсуждения”), это гарантированно привлечет на блог дополнительный трафик!!!

  49. Жилин:

    За такие посты надо награды давать, на полном серьезе!

  50. Игорь:

    Сенкс. Интересно, и вообще полезный у Вас блог

Залиште свій коментар