Flash Player 6.0.79。
Flash MX 2004。
用法 1:
on(click){
...
}
用法 2:
listenerObject
= new Object();listenerObject
.click = function(eventObject
){...
}checkBoxInstance
.addEventListener("click",listenerObject
)
事件;在复选框上单击(松开)鼠标时,或者,如果复选框有焦点并按下了空格键时,向所有已注册的侦听器广播。
第一个用法范例使用一个 on()
处理函数,并且必须直接附加到一个 CheckBox 组件实例。附加到组件的 on()
处理函数内部使用的关键字 this
是指该组件实例。例如,下面的代码附加到复选框 myCheckBox
,它将“_level0.myCheckBox”发送到“输出”面板:
on(click){ trace(this); }
第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (checkBoxInstance
) 调度一个事件(在本例中为 click
),而该事件由附加到您创建的侦听器对象 (listenerObject
) 的函数处理。您定义一个与侦听器对象上的事件同名的方法;当该事件被触发时,就会调用该方法。该事件被触发时,它会自动将一个事件对象 (eventObject
) 传递到侦听器对象方法。该事件对象有一组属性,这些属性包含有关事件的信息。您可以使用这些属性来编写处理该事件的代码。最后,对广播该事件的组件实例调用 addEventListener()
方法(请参阅 UIEventDispatcher.addEventListener()
),以将侦听器注册到实例。当该实例调度该事件时,就会调用该侦听器。
有关事件对象的详细信息,请参阅事件对象。
此范例是在时间轴上的某一帧上编写的,当单击名为 checkBoxInstance
的按钮时,它会向“输出”面板发送一条消息。代码的第一行创建一个名为 form
的侦听器对象。第二行代码为侦听器对象上的 click
事件定义一个函数。该函数内部有一个 trace
动作,它使用自动传递到该函数的事件对象(在本例中是 eventObj
)来生成消息。事件对象的 target
属性是生成该事件的组件,在本例中是 checkBoxInstance
。从事件对象的 target
属性中可以访问 CheckBox.selected
属性。最后一行代码从 checkBoxInstance
调用 addEventListener()
方法,并将 click
事件和 form
侦听器对象作为参数传递给该方法,如下所示:
form = new Object(); form.click = function(eventObj){ trace("The selected property has changed to " + eventObj.target.selected); } checkBoxInstance.addEventListener("click", form);
下面的代码也会在 checkBoxInstance
被单击时向“输出”面板发送消息。on()
处理函数必须直接附加到 checkBoxInstance
,如下所示:
on(click){ trace("check box component was clicked"); }
UIEventDispatcher.addEventListener()