Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   event bubbling (http://www.flasher.ru/forum/showthread.php?t=157806)

ir73 11.06.2011 01:20

event bubbling
 
Имеем дело с "вложенностью" классов по типу дислей листа. Как забаблить эвент так, что б target не поеменялся? Ведь когда я редиспатчу эвент в "родителе", то target становится равным родителю.

КорДум 11.06.2011 01:38

currentTarget. Нет?
Вот есть похожая тема, возможно ответ есть там: http://www.flasher.ru/forum/showthread.php?t=156890

ir73 11.06.2011 12:15

не, там не то. currentTarget это тот, у кого подписался на эвент.

мой код
Код AS1/AS2:

public override function dispatchEvent(event:Event):Boolean {
                        var b:Boolean = super.dispatchEvent(event);
                        if (event.bubbles && !event.isDefaultPrevented()) {
                                if (parent != null) {
                                        return parent.dispatchEvent(event);
                                }
                        }
                        return b;
                }

parent это ссылка на класс, который создал этот. Цепочка может быть бесконечна. Походу нельзя как я хочу? etc, ты где ?:)

Psycho Tiger 11.06.2011 12:44

Посмотрите, реализацию у BlooDHounD`а.

КорДум 11.06.2011 14:12

Цитата:

не, там не то. currentTarget это тот, у кого подписался на эвент.
Да, вы правы :)

wvxvw 11.06.2011 16:54

Другой вариант, передавать изначальный target в аргументе конструктора (в clone()) и переопределить геттер target, чтобы возвращал именно его. Единственное, что так может возникнуть неувязка, если первый раз конструктор вызвать с не нулевым параметром target, и передать туда что-то не то.

Psycho Tiger 11.06.2011 21:50

Цитата:

Сообщение от wvxvw (Сообщение 1002969)
Другой вариант, передавать изначальный target в аргументе конструктора (в clone()) и переопределить геттер target, чтобы возвращал именно его. Единственное, что так может возникнуть неувязка, если первый раз конструктор вызвать с не нулевым параметром target, и передать туда что-то не то.

Хм, очень интересный вариант ) Спасибо за идею.

ir73 13.06.2011 00:34

Цитата:

Сообщение от Psycho Tiger (Сообщение 1002912)
Посмотрите, реализацию у BlooDHounD`а.

сеньк ю! кладесь идей прямо-таки!

BlooDHounD 13.06.2011 00:56

ir73, спасиб, что оценили. там нет коментов и очень сложно разобраться.

ir73 13.06.2011 02:02

Цитата:

Сообщение от BlooDHounD (Сообщение 1003231)
ir73, спасиб, что оценили. там нет коментов и очень сложно разобраться.

это один из самых читаемых и грамотно оформленных кодов что я видел за проследние 6 лет. Разобраться легко, спасибо!


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

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