使用广播事件dispatchEvent()的方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用 dispatchEvent() 方法

在组件 ActionScript 类文件的正文中,您可以使用 dispatchEvent() 方法来广播事件。dispatchEvent() 方法的语法如下:

dispatchEvent(eventObj)

eventObj 参数是一个描述事件的 ActionScript 对象

在调用 dispatchEvent() 方法之前,必须在代码中对其进行声明,如下所示:

private var dispatchEvent:Function;

此外,还必须创建一个事件对象以传递给 dispatchEvent()。该事件对象包含侦听器可用来处理该事件的有关信息。

在发送事件之前可以显式地构建一个事件对象,如下面示例所示:

var eventObj = new Object();

eventObj.type = "myEvent";

eventObj.target = this;

dispatchEvent(eventObj);

您也可以使用快捷语法在一行代码中设置 type 属性和 target 属性的值,并发送事件: ancestorSlide.dispatchEvent({type:"revealChild", target:this}); 在上面的示例中,由于 target 属性是隐式的,因此,设置该属性是可选操作。

Flash 8 文档中对每个事件的说明列出了可选和必需的事件属性。例如,ScrollBar.scroll 事件除了使用 type 和 target 属性外,还使用 detail 属性。有关详细信息,请参阅"组件语言参考"中的事件说明。

公共事件

下表列出了由各种类广播的公共事件。如果事件适用于组件,每个组件都应广播这些事件。这里没有列出所有组件的全部事件,只列出了可能会由其它组件重新使用的事件。虽然某些事件未指定任何参数,但所有事件都有隐式参数:对广播事件的对象的引用。

事件 使用

click 由 Button 组件使用,或在鼠标单击没有其它含义时使用。

change 由 List 、ComboBox 和其它文本输入组件使用。

scroll 由 ScrollBar 和其它导致滚动(在滚动弹出菜单上滚动"缓冲器")的控件使用。 此外,由于是从基类继承而来,所有组件都广播以下事件:

UIComponent 事

说明 load

组件正在创建或加载其子对象。 unload

组件正在卸载其子对象。 focusIn

组件现在有输入焦点。某些 HTML 等效组件(ListBox 、ComboBox 、Button 、Text )还可以广播 focus ,但所有组件都广播 DOMFocusIn 。 focusOut

组件已失去输入焦点。 move

组件已被移至新位置。 resize

组件大小已更改。 下表对一些常见的键事件进行说明:

键事件 说明 keyDown 按下某个键。code 属性包含被按下键的键控代码,ascii 属性包含它的 ASCII 代码。不要使用低级 Key 对象检查,因为 Key 对象可能尚未生成该事件。

keyUp 释放某个键。

相关文档
最新文档