![]() ![]() | |
In addition to using a listener object, you can use a function as a listener. A listener is a function if it does not belong to an object. For example, the following code creates the listener function myHandler and registers it to buttonInstance:
function myHandler(eventObj){
if (eventObj.type == "click"){
// your code here
}
}
buttonInstance.addEventListener("click", myHandler);
Note: In a function listener, the this keyword is buttonInstance, not the Timeline on which the function is defined.
You can also use listener objects that support a handleEvent method. Regardless of the name of the event, the listener object's handleEvent method is called. You must use an if else or a switch statement to handle multiple events, which makes this syntax clumsy. For example, the following code uses an if else statement to handle the click and enter events:
myObj.handleEvent = function(o){
if (o.type == "click"){
// your code here
} else if (o.type == "enter"){
// your code here
}
}
target.addEventListener("click", myObj);
target2.addEventListener("enter", myObj);
There is one additional event syntax style, which should only be used when you are authoring a component and know that a particular object is the only listener for an event. In such a situation, you can take advantage of the fact that the v2 event model always calls a method on the component instance that is the event name plus "Handler". For example, if you want to handle the click event, you would write the following code:
componentInstance.clickHandler = function(o){
// insert your code here
}
In the above code, the keyword this, if used in the callback function, is scoped to componentInstance.
For more information, see Creating Components.
![]() ![]() | |