主要内容

addlistener

类:处理

创建绑定到事件源的事件监听器

语法

el = addlistener(hSource,EventName,回调)
el = addlistener(hSource,PropertyName,EventName,回调)
addlistener (___

描述

埃尔= addlistener (hSourceEventName回调为事件创建侦听器EventName当在源对象上触发时,hSource

如果hSource是数组时,监听器响应对象中任意对象上的命名事件hSource数组中。回调引用回调函数的函数句柄。

埃尔= addlistener (hSourcePropertyNameEventName回调为预定义的属性事件之一创建侦听器。有四个预定义的属性事件:

addlistener (___创建不带句柄的侦听器对象。您可以将此语法与前面的任何输入语法一起使用。

事件名称 事件发生时
预设

紧接在设置属性值之前,在调用其set访问方法之前

PostSet

在设置属性值之后立即

PreGet

在服务属性值查询之前,在调用其get访问方法之前

PostGet

在向查询返回属性值之后立即返回

输入参数

全部展开

事件源是作为事件源的对象,或者指定为句柄数组的源对象数组。

源对象上触发的事件的名称,指定为区分大小写、带引号的文本。对于属性事件,事件名称是四个预定义的属性事件之一。

数据类型:字符|字符串

属性事件触发监听器的属性名称,指定为以下值之一:

  • 字符向量或字符向量的单元格数组,其中每个字符向量是为对象定义的属性的名称hSource

  • 一个标量meta.property对象

  • 的数组meta.property对象

只能在以下情况下将侦听器附加到动态属性上的属性事件hSource是标量。如果hSource是非标量,那么属性一定属于类hSource并且不能包含动态属性(不属于类定义的一部分)。

定义源属性的类必须设置GetObservable而且SetObservable属性属性,使您能够侦听属性事件。

监听器回调指定为函数句柄

数据类型:function_handle

输出参数

全部展开

创建的侦听器对象。addlistener的句柄侦听器或者一个event.proplistener对象。

例子

全部展开

属性的属性侦听器颜色图形的属性数字窗口。

图;propListener = addlistener(图,“颜色”“PostSet”@ (src evnt) disp (的颜色改变了));

的值颜色财产黄色的.属性的设置将触发PostSet属性事件。事件源对象是句柄引用的特定图形无花果

集(图,“颜色”“黄色”

提示

  • 重新定义或清除包含侦听器句柄的变量(例如,埃尔)不删除监听器。事件对象(hSource)仍有参考event.listener对象。addlistener将侦听器的生命周期绑定到作为事件源的对象。

  • 尽管监听器绑定到事件源的生命周期,但在以下情况下,监听器在事件源销毁后继续存在:

    • 对侦听器的一个或多个引用位于其他变量中,如果在创建时指定了侦听器,则包括侦听器的句柄。

    • 侦听器与其他事件源绑定。

  • 方法返回的监听器对象可以删除监听器addlistener.例如,

    删除(el)

    调用句柄类delete方法从工作空间删除对象并删除侦听器。

  • 属性定义未绑定到事件对象的侦听器event.listener构造函数直接创建侦听器。

选择

当您需要侦听器对象的生命周期独立于源对象生命周期时,使用侦听器创建监听器。

在R2008a中引入