J'ai une classe affaires, Spam
et la classe de vue correspondante, SpamView
.ActionScript/Flex: Augment MouseEvents avec des informations supplémentaires
Comment puis-je augmenter MouseEvent
s sortant de SpamView
de sorte que les MouseEvent
s qui en sortent contiennent une référence à l'instance de Spam
que le SpamView
affiche?
Voilà comment je voudrais l'utiliser:
class ViewContainer {
...
for each (spam in spams) {
addChild(new SpamView(spam));
...
function handleMouseMove(event:MouseEvent) {
if (event is SpamViewMouseEvent)
trace("The mouse is being moved over spam:", spam)
}
}
Merci!
choses que j'ai considéré que ne fonctionnent pas:
Ajouter événement auditeurs à chaque
SpamView
: la tenue de livre (en vous assurant qu'ils sont ajoutés/supprimés correctement) est une douleur.Utilisation
event.target
: peut-être un enfant duSpamView
(ce qui est très utile)À l'écoute d'un
MouseEvent
, la création d'une nouvelleSpamViewMouseEvent
cible de l'événement, la copie de tous les champs sur, puis dispatching que : copier tous les champs manuellement est également une douleur.