Flash Player 6.0.79。
Flash MX 2004。
用法 1:
on(progress){
...
}
用法 2:
listenerObject
= new Object();listenerObject
.progress = function(eventObject
){...
}pBarInstance
.addEventListener("progress",listenerObject
)
除了标准的事件对象属性外,还为 ProgressBar.progress
事件定义了另外两个属性:current
(加载的值等于总计)和 total(
总值)。
事件;当进程栏的值更改时向所有已注册的侦听器广播。事件仅在 ProgressBar.mode
设置为 "manual"
或 "polled"
时广播。
第一个用法范例使用一个 on()
处理函数,并且必须直接附加到一个 ProgressBar 组件实例。附加到组件的 on()
处理函数内部使用的关键字 this
是指该组件实例。例如,下列代码附加到实例 myPBar
,它将“_level0.myPBar”发送到“输出”面板:
on(progress){ trace(this); }
第二个用法范例使用一个调度程序/侦听器事件模型。组件实例 (pBarInstance
) 调度一个事件(在本例中为 progress
),而该事件由附加到您创建的侦听器对象 (listenerObject
) 的函数处理。您定义一个与侦听器对象上的事件同名的方法;当该事件被触发时,就会调用该方法。该事件被触发时,它会自动将一个事件对象 (eventObject
) 传递到侦听器对象方法。每个事件对象都有一组属性,这些属性包含有关该事件的信息。您可以使用这些属性来编写处理该事件的代码。最后,对广播该事件的组件实例调用 UIEventDispatcher.addEventListener()
方法,以将侦听器注册到实例。当该实例调度该事件时,就会调用该侦听器。
有关事件对象的详细信息,请参阅事件对象。
本范例创建一个侦听器对象 form
,并且在其上定义一个 progress
事件处理函数。在最后一行代码中,form
侦听器注册到 pBar
实例。progress
事件触发时,pBar
向 form
侦听器广播该事件,该侦听器调用 progress
回调函数,如下所示:
var form:Object = new Object(); form.progress = function(eventObj){ // eventObj.target 是生成 change 事件的组件, // 即 Progress Bar。 trace("Value changed to " + eventObj.target.value); } pBar.addEventListener("progress", form);
UIEventDispatcher.addEventListener()