Newer Version Available
Dynamically Adding Event Handlers
You can dynamically add a handler for an event that a component fires. The component can be created dynamically on the client-side or fetched from the server at runtime.
This sample code adds an event handler to instances of c:sampleComponent.
1addNewHandler : function(cmp, event) {
2 var cmpArr = cmp.find({ instancesOf : "c:sampleComponent" });
3 for (var i = 0; i < cmpArr.length; i++) {
4 var outputCmpArr = cmpArr[i];
5 outputCmpArr.addHandler("someAction", cmp, "c.someAction");
6 }
7}You can also add an event handler to a component that is created dynamically in the callback function of $A.createComponent(). For more information, see Dynamically Creating Components.
addHandler() adds an event handler to a component.
Note that you can’t force a component to start firing events that it doesn't fire. c.someAction can be an action in a controller in the component's hierarchy. someAction and cmp refers to the event name and value provider respectively. someAction must match the name attribute value in the aura:registerEvent or aura:handler tag. Refer to the JavaScript API reference for a full list of methods and arguments.