addlistener (handle)

Create event listener


lh = addlistener(Hsource,'EventName',callback)
lh = addlistener(Hsource,property,'EventName',callback)


lh = addlistener(Hsource,'EventName',callback) creates a listener for the specified event.

lh = addlistener(Hsource,property,'EventName',callback) creates a listener for one of the predefined property events. There are four property events:

  • PreSet — triggered just before the property value is set, before calling its set access method.

  • PostSet — triggered just after the property value is set.

  • PreGet — triggered just before a property value query is serviced, before calling its get access method.

  • PostGet — triggered just after returning the property value to the query

See Events and Listeners — Syntax and Techniques for more information.

Input Arguments


Handle of the object that is the source of the event, or an array of source handles.


Name of the event, which is triggered by the source objects.


Function handle referencing a function to execute when the event is triggered.


Character string that can be:

  • the name of the property

  • a cell array of strings where each string is the name of a property that exists in object array Hsource

  • a object or an array of objects

  • a cell array of objects

If Hsource is a scalar, then any of the properties can be dynamic properties. If Hsource is non-scalar, then the properties must belong to the class of Hsource and can not include dynamic properties (which are not part of the class definition).

For more information, see the following sections:

Output Arguments


Handle of the event.listener object returned by addlistener.

Removing a Listener

To remove a listener, delete the listener object returned by addlistener. For example,


calls the handle class delete method to delete the object from the workspace and remove the listener.

When you use addlistener to create a listener, redefining the variable containing the handle to the listener does not delete the listener because the event object still has a reference to the event.listener object. addlistener ties the listener's lifecycle to the object that is the source of the event. If you want to define a listener that is not tied to the event object, use the event.listener constructor directly to create the listener.

Was this topic helpful?