Quelqu'un peut-il s'il vous plaît me dire la différence entre cible et currenttarget en flex?Quelle est la différence entre target et currenttarget dans flex?
Répondre
Bien sûr, j'ai eu quelques problèmes avec cela aussi. La propriété currentTarget
est le IEventListener pour lequel vous avez enregistré le gestionnaire d'événements. Le target
est celui qui a distribué l'événement que vous gérez actuellement. Donc, les changements currentTarget
, le target
ne fait pas.
Découvrez l'exemple suivant:
App échantillon
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="addListeners()">
<mx:Script>
<![CDATA[
protected function addListeners():void
{
greatGrandParent.addEventListener(Event.COMPLETE, completeHandler);
grandParent.addEventListener(Event.COMPLETE, completeHandler);
aParent.addEventListener(Event.COMPLETE, completeHandler);
child.addEventListener(Event.COMPLETE, completeHandler);
// dispatch event that "bubbles", second param is "true"
// dispatched from child
child.dispatchEvent(new Event(Event.COMPLETE, true));
}
protected function completeHandler(event:Event):void
{
trace("target: ", event.target + ", currentTarget: ", event.currentTarget);
}
]]>
</mx:Script>
<mx:Panel id="greatGrandParent">
<mx:Panel id="grandParent">
<mx:Panel id="aParent">
<mx:Button id="child"/>
</mx:Panel>
</mx:Panel>
</mx:Panel>
</mx:Application>
Sortie
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent.grandParent.aParent.child
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent.grandParent.aParent
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent.grandParent
target: MyApp.greatGrandParent.grandParent.aParent.child, currentTarget: MyApp.greatGrandParent
C'est un arbre simple des objets d'affichage, et lorsque l'application est prêt, je :
- Ajoutez des écouteurs pour le même événement sur chaque composant de l'arborescence.
- Envoie un événement arbitraire (juste pour la démonstration). J'ai choisi
Event.COMPLETE
.
Puisque tout a enregistré une eventHandler pour ce même événement, et comme je l'ai mis bubbles
true (new Event(type, bubbles)
), quoi que ce soit dans l'arbre, de l'enfant à greatGrandParent et au-delà, qui a enregistré un gestionnaire d'événements pour Event.COMPLETE
, exécutera cette méthode: completeHandler
. Les événements remontent la chaîne puis redescendent. Le target
est celui qui a envoyé l'événement, donc depuis child
l'a envoyé, il devrait être constant. Le currentTarget
est ce qui change. Cela signifie que, par exemple, si vous voulez vérifier quand vous faites un survol d'un DataGrid dans Flex, vous voulez savoir quand vous survolez une Checkbox dans l'un des itemRenderers dans le DataGrid. Une façon consiste à ajouter EventListener sur chaque case de itemRenderer pour MouseEvent.ROLL_OVER
. Une autre façon est de addEventListener au DataGrid lui-même pour MouseEvent.ROLL_OVER
et vérifier ce que l'cible est sur l'événement:
protected function dataGrid_rollOverHandler(event:MouseEvent):void
{
// event.currentTarget is DataGrid
if (event.target is CheckBox)
trace("rolled over checkbox!");
}
Voilà comment j'utilise souvent event.target
.
espoir qui aide, Lance
pourrait ainsi aider:
http://livedocs.adobe.com/flex/3/html/help.html?content=events_08.html#219548
Vous devez passer par des tutoriels sur ce site: http://www.adobe.com/devnet/flex/videotraining/ pour une introduction à Flex avant de poser une question comme ça. Votre question est traitée le jour 1.
- 1. Quelle est la différence entre targetNamespace et xmlns: target?
- 2. Quelle est la différence entre Flex/Lex et Yacc/Bison?
- 3. Quelle est la différence entre Flex et Flash CS4?
- 4. Quelle est la différence entre send() et sendAndLoad() dans flash?
- 5. quelle est la différence entre:.! et: r !?
- 6. Quelle est la différence entre = et: =
- 7. Quelle est la différence entre dict() et {}?
- 8. Quelle est la différence entre "$^N" et "$ +"?
- 9. Quelle est la différence entre ~ et! opérateur?
- 10. Quelle est la différence entre chaque version de flex?
- 11. Différence entre UIComponent et Sprite dans Flex
- 12. quelle est la différence entre ControllerContext.HttpContext.Session et HttpContext.Current.Session
- 13. quelle est la différence entre l'URL et la destination en utilisant httpservice dans flex?
- 14. Quelle est la différence entre% Q et% {} dans ruby?
- 15. Quelle est la différence entre // et /// dans Visual Studio?
- 16. Quelle est la différence entre undefined et window.undefined dans JavaScript?
- 17. Quelle est la différence entre - et NOT opérateur dans Lucene?
- 18. Quelle est la différence entre -I et -L dans makefile?
- 19. Quelle est la différence entre memset et memcpy dans C
- 20. Quelle est la différence entre latin1_general_ci et utf8_bin dans MYSQL
- 21. Quelle est la différence entre HttpContext.Current.User et Thread.CurrentPrincipal dans asp.net?
- 22. Quelle est la différence entre Toggle et slideToggle dans jQuery?
- 23. Quelle est la différence entre * .tpl et * .html dans smarty?
- 24. Quelle est la différence entre $ {...} et! {...} dans Spark View Engine?
- 25. Quelle est la différence entre Int et Integer dans Scala?
- 26. Quelle est la différence entre bcc32 et bcc32ide dans Borland?
- 27. Quelle est la différence entre utf8_general_ci et utf8_unicode_ci dans MySql?
- 28. Quelle est la différence entre SetFocus() et Focus() dans ASP.NET?
- 29. Quelle est la différence entre class et id dans jQuery?
- 30. Quelle est la différence entre IDelegateEvent et IEvent dans F #?