我们为许可用户提供了部分翻译好的中文文档。您只需登录便可查阅这些文档

addlistener (handle)

Create event listener

Syntax

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

Description

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

Hsource

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

EventName

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

callback

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

property

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 meta.property object or an array of meta.property objects

  • a cell array of meta.property 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

lh

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,

delete(lh)

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?