Actionscript:
-
var e:String = "addEventListener";
-
-
stage[e]("click", function():void{
-
trace("clicked", arguments[0]);
-
});
Strange code to do a click listener. arguments[0] is the event object. (Check out the "warning" page for more info about this).
Actionscript:
-
stage.addEventListener(MouseEvent.CLICK, onStageClick);
-
function onStageClick(evt:MouseEvent):void {
-
trace("clicked", evt);
-
}
Normal way.
2 Comments
Not a very good way as I see it. You loose your reference to the method that listens for the event, causing a possible memory leak. I could see using this way to call dynamic methods based on information loaded at runtime, but I don’t see a benefit in using it to add a listener.
Yes. I agree with you… check out the “warning” page. I actually use this example as something that you shouldn’t do. That’s why I included the normal way at the end.
Using anonymous functions is risky. One easy way to clean them up is with arguments.callee.