`
yunzhongxia
  • 浏览: 648520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

了解事件

    博客分类:
  • flex
阅读更多

先从一个红绿灯例子看起,

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			private function init():void{
				hbox.addEventListener(MouseEvent.CLICK,eventHandler);
			}
			private function eventHandler(event:Event):void{
				if(event.target is Button){
					lab.text="交通信号为:"+Button(event.target).label;
				}
			}
		]]>
	</mx:Script>
	<mx:VBox width="100%" height="100%" id="vbox">
		<mx:Label text="关闭" id="lab"/>
		<mx:HBox id="hbox">
			<mx:Button label="绿色" id="btnGreen"/>
			<mx:Button label="红色" id="btnRed"/>
			<mx:Button label="蓝色" id="btnBlue"/>
		</mx:HBox>
	</mx:VBox>
</mx:Application>

 

事件的三个要素:

  • 事件源:事件源指的是发生事件的对象。本例中即是三个按钮。
  • 监听器:监听器是一个具体的方法,负责处理事件响应。监听器被注册到某个可以接收到事件通知的对象上。本例中监听器是eventHandler方法,被注册到按钮的父容器hbox上
  • 事件:事件本身就是一个对象。监听器在处理事件的时候,有时候需要知道事件的来龙去脉,比如事件源是谁?发生了什么事情?事件对象中封装了这些信息,本例中,监听器eventHandler方法的参数既是事件对象。

上面的监听器必须解决两个问题:

  1. 如何判断用户点击的是按钮?

        

 if(event.target is Button)

 在hbox上添加了鼠标点击事件,如果此容器中包含有除了Button之外的其它组件,Flash Player也会调用eventHandler,但是监听器是比较聪明的,他会检测事件源是不是按钮,这里的秘密在于event,Event是在事件发生时,有FlashPlayer隐式创建的。Event描述了所发生的事件,event.target is Button检测事件源是否为按钮对象。

  2. 用户按了哪个按钮?

 

     Event对象实例event通过event.target告诉了谁是事件源,继而通过强制类型转换Button(event.target),得到了发生事件源对象,从而获得了他的label属性。

 

讨论下creationComplete

creationComplete事件并不是由用户触发的,Application初始化完毕,FlashPlayer就会自动触发该事件。

如果在as3中为添加creationComplete方法,只需要addEventListenter.add("creationComplete",函数)就可以了。

 上面的事件监听之能传一个参数,如果想传多个参数,请参考事件监听传多个参数这篇文章。

分享到:
评论

相关推荐

    网络安全事件报告记录表.docx

    这些信息有助于快速联系到事件的第一发现者,了解事件的第一手情况,并确保信息传递的准确性。 2. 事故描述:这部分需要详细记录事件的发生情况,如事件的具体内容(例如,系统被黑、数据泄露、恶意软件感染等)、...

    C#事件(event)使用方法详解

    C#事件(event)使用方法详解 事件(event)是C#中的一种机制,允许对象在发生...通过了解事件(event)的概念、使用方法、事件编程的优点、事件与委托的关系、事件的实现等方面,可以更好地掌握C#事件(event)使用方法详解。

    JavaScript事件机制详细研究

    JavaScript 事件机制详细研究 ...JavaScript 事件机制是非常复杂的,它需要了解事件机制的实现方式、原理和浏览器的兼容性问题。只有深入了解这些知识点,才能编写出高效、可靠的 JavaScript 代码。

    KWIC系统事件系统结构实现

    首先,让我们深入了解事件系统架构。在Java中,事件系统通常基于观察者模式,也称为发布/订阅模式。在这个模式中,一个对象(发布者)在其状态改变时会通知其他对象(订阅者或观察者)。在KWIC系统中,事件可能是...

    flex自定义组件事件DEMO

    通过分析代码,可以了解事件生命周期、事件冒泡和捕获的概念,以及如何在实际项目中利用这些知识。 5. 代码实践:在DEMO中,可能会包含一个自定义组件类(如MyCustomComponent),它会派发一个自定义事件(如...

    扣代码工具 javascript事件 捕获者2.0.zip

    这包括了解事件对象、事件类型、事件处理函数的定义方式(如`addEventListener`和`removeEventListener`),以及如何利用事件委托实现高效的数据绑定。事件委托是利用事件冒泡或捕获的特性,只在父元素上设置事件...

    保安部重大事件总结报告格式.doc

    这有助于管理层快速了解事件发生的时间背景,以便及时处理。 2. **呈报对象**:报告的接收者通常为上级管理层或相关部门,他们需要了解事件详情以进行后续的工作指导或决策。 3. **报告人**:填写报告的保安部负责...

    c# 事件示例 很好的示例,看了就会用事件了

    打开这个文件,你可以看到示例项目的结构,编译并运行它以直观地了解事件的工作方式。 8. **学习与实践** 通过分析这些示例,你可以了解到如何声明事件、触发事件、订阅和取消订阅事件,以及如何处理事件。同时,...

    c# 事件处理

    在深入了解事件之前,我们先来了解一下委托。委托是一种引用类型的数据结构,它封装了方法的签名,允许将方法作为参数传递。委托是实现事件的基础,其本质是一种函数指针。 **示例:** ```csharp public delegate ...

    10-JS事件基础.pptx

    2. 事件冒泡和取消冒泡:了解事件冒泡的原理,并能阻止事件冒泡。 3. DOM事件流:理解事件在DOM中的传播路径。 4. 鼠标事件:掌握鼠标位置的获取,以及如何处理鼠标事件。 5. 键盘事件:知道如何监听键盘事件,识别...

    事件史分析操作及说明A_08.pdf

    事件史分析操作的目的是为了了解事件的发生机理、事件的持续时间和事件的终止原因,从而对事件的发展趋势和结果进行预测和分析。 事件史分析操作的步骤: 1. 数据收集:收集事件相关的数据,包括事件的发生时间、...

    wxPython事件处理

    接下来,我们将通过一个具体的示例来详细了解事件处理的具体实现: 1. **创建事件类型**:定义一个新的事件类型。 ```python MY_EVENT_TYPE = wx.NewEventType() ``` 2. **定义事件绑定**:使用`wx....

    医疗不良事件登记报告表.pdf

    3. 当事医务人员:这些人员需提供他们的基本信息,如姓名,有时还需注明其职务或专业资格,以便了解事件发生的具体责任主体。 4. 患者信息:包括姓名、性别、年龄,以及可能的国籍、工作单位等,确保患者身份的准确...

    群体性突发事件中的舆情处理定义.pdf

    首先,舆情信息是事件的重要组成部分,通过对舆情信息的采集和分析,可以了解事件的发展趋势和公众的反应。其次,舆情处理可以预防和应对事件的扩大,减少事件对社会的影响。最后,舆情处理可以帮助政府和相关部门更...

    附件一.网络与信息安全事件上报表

    记录事件发生的时间以及上报的时间,有助于快速响应并了解事件发生的背景。 #### 上报人信息 包括上报人的姓名、职务、联系方式及邮箱等信息,便于上级部门与上报人取得联系,进一步了解情况或询问细节。 ### 知识...

    Java设计模式之监听器模式实例详解

    即监听器不需要直接了解事件源的具体实现细节,只需要关注事件对象所包含的信息。 监听器则定义了对事件源事件的响应。在事件发生时,事件源通知所有已注册的监听器,由监听器决定如何响应事件。监听器通常以回调...

    JavaScript实用知识库分享

    * 事件基础:了解事件流、绑定事件、注册与销毁事件、event对象、事件托管等。 * 鼠标事件和键盘事件:了解鼠标事件和键盘事件的使用方法。 * 页面事件和UI事件:了解页面事件和UI事件的使用方法。 数据存储 * ...

    微博在突发事件中的运用-论文.zip

    3. **多元信息源**:微博上既有官方媒体的报道,也有普通用户的现场见证,提供多角度、多层次的信息,有助于公众更全面地了解事件真相。 4. **舆论监督与引导**:在突发事件中,微博成为公众表达意见、监督政府行动...

Global site tag (gtag.js) - Google Analytics