| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2007
Beiträge: 31
| dispatch event funktioniert nur von "unten nach oben"
Hallo! bisher bin ich recht gut mit "dispatch Event" zurecht gekommen. In einem Mc konnte ich ein Event dispatchen, das in anderen Mcs, die in der Hierarchie weiter oben angesiedelt sind, problemlos abgefangen werden konnte. In die andere Richtung von "oben nach unten" funktioniert dies jedoch nicht mehr. hier der code für meinen event dispatcher: Code: dispatchEvent(new Event("flvStateChanged", true)); Code für den Listener: Code: this.addEventListener("flvStateChanged", flvStateChangedHandler);
function flvStateChangedHandler(eve:Event){
trace("flvStateChanged");
} Danke scho mal für die Hilfe! Flo |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Events bubblen ja nunmal auch von unten nach oben, deswegen der Name.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Mar 2007
Beiträge: 31
|
servus! bisher habe ich immer gedacht die bubbles gehen erste von oben nach unten und "steigen" dann wieder auf. Ich meine dass das zumindest in flex so ist. In flex ging das bubbling meines Wissens immer problemlos in beide Richtungen. Aber muss ich nochmal ausprobieren. Viele Grüße, Flo |
| | |
| | #5 (permalink) |
| obvious Registriert seit: Dec 2007 Ort: Berlin
Beiträge: 125
|
Events fangen bei der stage an, gehen dann in der "capturing phase" bis zu der Ebene, die den Event ausgelöst hat ("at target") und "bubblen" dann wieder zur Stage zurück. Wobei es da auch Ausnahmen gibt, bzw. man das bubbling abstellen kann.
__________________ I´m gone to shot some aliens for kingdom and glory, for welfare and for life itself |
| | |
| | #6 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Wenn es anders wäre würden EventListener bei bubblenden Events ja 2x anspringen.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #7 (permalink) | |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
| Zitat:
Somit würde das Event beim bubblen auch mehr als einmal am target vorbeikommen, und das würde mehr Verwirrung als Vorteile bringen. Und zu einer endlosen Eventschlacht führen ...
Geändert von rendner[i] (16-04-2008 um 10:06 Uhr) | |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Mar 2006
Beiträge: 302
|
Eine ansehnlich Folie zu diesem Thema hat gSkinner erstellt: http://gskinner.com/talks/50reasonsAS3/ Folie 22 visualiert sehr schön die Eventphasen (Capture und Bubble Phase)
__________________ Gruß Flo ---- blog.derhess.de ---- My Book Store ---- YouTube iNspIreNewMedia ---- Blog, Flash-Programmierung, Interaction Development und alles andere mit Medien |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jan 2006
Beiträge: 9
|
Ich habe mein Problem auch schon im Flexforum beschrieben : http://www.flexforum.de/showthread.php?t=2756 Wie ist es denn nun? Werden bubblende Events auch an die children gesendet? Ich vermute mal nicht. Aber wie kann man das dann umsetzen? Kann man das target explizit bennen ? Ich habe auch versucht den Listener mit parent.addEventListener auf der selben Ebene wie das dispatchEvent() zu registrieren. Das hat auch keinen Erfolg gebracht. |
| | |
| | #10 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Das target kann man nicht setzen und Events bubblen nicht zu den Kindern. Events propagieren nur zum target und dann, wenn Bubbling möglich ist, wieder nach oben. Wenn du deine Struktur vielleicht noch mal überlegst wirst du womöglich zu dem Schluss kommen, dass das Eventsystem so ausreichend ist. |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Jul 2008
Beiträge: 117
|
Ich bin noch nicht so vertraut mit AS 3.0 und habe nun ein ebenfalls das gleiche Problem. Ich habe in einem Objekt ein Weiteres einer anderen Klasse instanziert und hänge auf dieses einen Listener. Vom Grundobjekt soll nun ein Event dispatched werden, nur leider wird auf dieses nicht reagiert. In umgekehrter Richtung ist das aber kein Problem. Wäre nett wenn mir wer weiterhelfen könnte. Die Antworten hier klingen zwar logisch, in die Praxis umsetzen kann ich das leider nicht. Besten Dank |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |