使用 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
释放某个键。
分享到:
相关推荐
如果都不支持,则使用 createEvent 方法来创建一个点击事件,并使用 dispatchEvent 方法来触发该事件。 需要注意的是,在 Firefox 浏览器中,对于非 input 元素仍然没有奏效。这是因为 Firefox 浏览器严格遵守 W3C ...
最后,我们使用dispatchEvent方法来派发该事件。 上面的代码中涉及到的Event对象的事件模块名(eventType)是关键,它指定了创建事件对象的类型。例如,'HTMLEvent', 'MouseEvent', 'UIEvent'等。创建事件对象后,...
DispatchEvent 是一个在软件开发,特别是Java编程语言中与事件处理相关的概念。它涉及到用户界面(UI)组件之间的通信,特别是在事件驱动的系统中。在这样的系统中,用户操作(如点击按钮或输入数据)会触发事件,...
2. **派发自定义事件**:在事件源对象(通常是UIComponent或其他自定义组件)上,使用dispatchEvent方法来派发自定义事件。派发时需要实例化自定义事件,并传入相关参数: ```actionscript var customEvent:...
2. 分发自定义事件:在事件源中创建自定义事件实例,并使用dispatchEvent方法分发。 3. 注册监听器:与处理内置事件一样,为组件添加自定义事件的监听器,处理自定义事件。 五、事件处理最佳实践 1. 避免全局事件...
- 派发事件:在组件中使用dispatchEvent方法触发自定义事件。 3. 事件处理:处理自定义事件通常需要在组件内部注册事件监听器,并在监听器函数中处理事件。监听器可以添加到组件本身或其父组件上,使用...
在Firefox浏览器中,如果直接使用dispatchEvent方法可能不会生效,因此需要先创建一个事件对象,并使用initEvent方法初始化事件属性。同时,应当检查是否存在`document.createEvent`方法,如果不存在则直接使用click...
在不支持fireEvent方法的浏览器中,可以考虑使用W3C标准的dispatchEvent方法或者使用一个通用的触发事件的方法,比如通过创建一个新的事件实例,设置好事件类型,然后使用dispatchEvent方法将事件派发出去。...
如果确实需要通过编程方式触发文件选择对话框,更推荐的做法是使用JavaScript的dispatchEvent方法显式地创建并派发一个click事件。 最后,文章提到了使用jQuery实现trigger方法的示例。jQuery简化了事件的触发和...
当使用dispatchEvent方法触发的事件发生时,它会按照预期的事件捕获和冒泡顺序来执行,这样就可以模拟出真实的用户操作场景。 触发自定义事件之前,首先需要创建一个事件实例。根据不同的事件类型,有不同的接口来...
它被广泛用于绘制图形、动态效果、图片等。...通过以上知识点,开发者可以根据具体需求选择合适的方法使用Canvas来实现图片下载功能。在不同的浏览器上,可能需要做额外的兼容性处理,以确保功能的正常运行。
这里,我们首先检查是否是IE浏览器(通过document.all来判断),如果不是IE浏览器(如火狐),我们创建一个MouseEvents事件,并使用initEvent方法初始化事件,然后使用dispatchEvent方法将事件派发给指定的元素。...
JavaScript中可以通过创建一个Event对象并使用dispatchEvent方法来模拟触发事件。例如,可以创建一个“click”类型的事件,并将其应用在指定的标签上。 4. 使用JavaScript操作DOM DOM(文档对象模型)是JavaScript...
本文将详细介绍 JavaScript 中的基础事件和 Event 对象,包括事件的定义、EventTarget 接收事件接口、addEventListener、removeEventListener、dispatchEvent 方法 serta JavaScript 中常用的事件等。 事件的定义 -...
在大部分浏览器中,我们可以使用`dispatchEvent`方法或者元素的`click`方法来达到这一目的。然而,这个问题描述了一个特定的异常情况:在Firefox 5中,这两种方式都无法成功触发链接(`<a>`标签)的默认行为,即打开...
dispatchEvent是符合W3C标准的方法,主要适用于现代浏览器,它通过document.createEvent('Event')创建一个新的事件对象,并通过initEvent方法初始化事件。初始化完成后,使用el.dispatchEvent(evt)将事件派发到指定...
虽然原生JavaScript没有直接对应的方法,但可以通过document.createEvent创建事件,并通过initEvent方法初始化事件,然后用dispatchEvent方法来触发事件。这一过程相比jQuery的trigger方法要复杂一些,但通过封装也...
本篇将详细讲解如何使用JavaScript实现子窗体调用父窗体中的方法。 首先,了解一些基本概念: 1. **父窗口(Parent Window)**:打开子窗口的原始窗口。 2. **子窗口(Child Window)**:由父窗口通过`window.open...
以上只是`document`对象的一些主要方法,实际使用中还有更多方法,如`createAttribute`、`createComment`、`focus`等。理解并熟练掌握这些方法,对于编写高效、动态的前端代码至关重要。在实际项目中,结合DOM遍历、...