PDA

Volledige versie bekijken : Event listener op button?


mech7
%Europe/Berlin %507 %2009, 13:11
Ik probeer een unieke eventlistener te adden aan elk menu item... maar als ik trace krijg ik altijd dezelfde waarde als ik erop klik, weet iemand hoe ik dit moet aanpakken ?


for (var i:Number = 0; i < 10; i++) {

var item:buttonProject = new buttonProject();

item.buttonMode = true;
item.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
var num:int = i;
trace(item.name);
}
);


menu.addChild(item);
item.x = 5 + menu.width;
item.y = 150;
}

hereWeGo
%Europe/Berlin %568 %2009, 14:38
je doet een trace op item.name, maar waar wordt deze dan gezet?
verder maak je een nieuwe var num aan, maar daar doe je niks mee?

als je het zo doet.. dan zou het moeten werken...


item.name = "Button " + i;
// trace: Button 1, Button 2, Button 3, etc.

Jan
%Europe/Berlin %623 %2009, 15:57
Sla de i tijdens de for loop op in de instance of gebruik een Dictionary of leidt het af uit de name property.
for (var i:Number = 0; i < 10; i++)
{

var item:buttonProject = new buttonProject();
item.ID=i;
item.buttonMode = true;
item.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);

menu.addChild(item);
item.x = 5 + menu.width;
item.y = 150;
}
function onMouseUp(event:MouseEvent):void
{
trace(event.target.ID);
}


Groeten,
Jan

mech7
%Europe/Berlin %145 %2009, 04:30
Bedankt maar als ik dat doe dan krijg ik de error: 1120: Access of undefined property event


private function addItems() {

for (var i:Number = 0; i < totalItems; i++) {
trace('test:' + menuXML[i]);

var item:buttonProject = new buttonProject();

item.id = i;
item.buttonMode = true;
item.addEventListener(MouseEvent.MOUSE_UP, mouseup);

menu.addChild(item);
item.x = 5 + menu.width;
item.y = 150;

}
}

public function mouseup(evt:MouseEvent):void {
trace(event.target.id);
}





Sla de i tijdens de for loop op in de instance of gebruik een Dictionary of leidt het af uit de name property.
for (var i:Number = 0; i < 10; i++)
{

var item:buttonProject = new buttonProject();
item.ID=i;
item.buttonMode = true;
item.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);

menu.addChild(item);
item.x = 5 + menu.width;
item.y = 150;
}
function onMouseUp(evt:MouseEvent):void
{
trace(event.target.ID);
}


Groeten,
Jan

mech7
%Europe/Berlin %146 %2009, 04:31
Ah thx werkt perfect ^_^