`
yunzhongxia
  • 浏览: 652397 次
  • 性别: 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. 事故描述:这部分需要详细记录事件的发生情况,如事件的具体内容(例如,系统被黑、数据泄露、恶意软件感染等)、...

    KWIC系统事件系统结构实现

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

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

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

    JavaScript事件机制详细研究

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

    DOM事件(ppt).pdf

    在当今的Web开发中,理解事件是至关...熟练掌握这些知识点对于进行Web开发是非常有帮助的,特别是在使用JavaScript进行前端开发时,了解事件和事件处理器能够帮助开发者更好地设计出用户体验良好、响应迅速的网页界面。

    事件处理和监听.docx

    通过学习如何绑定和触发事件、了解事件传播机制,开发者可以更好地管理用户与页面之间的交互行为,提供更加流畅和自然的用户体验。 通过上述内容,可以看出JavaScript中的事件处理和监听是一个涉及多个层面的复杂...

    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. 数据收集:收集事件相关的数据,包括事件的发生时间、...

    DOM2高级事件处理

    在深入理解DOM2级事件模型的传播机制之前,我们首先要了解事件传播的三个阶段:捕获阶段、目标阶段和冒泡阶段。当一个事件发生时,首先会进入捕获阶段,这意味着事件是从根节点开始,逐渐传递到事件实际发生的元素,...

    陆续更新中文事件抽取的知识,模型方法和论文。

    其次,需要了解事件抽取的关键技术,如命名实体识别(NER)、依存句法分析和语义角色标注等。这些技术的掌握是实现有效事件抽取的基础。 在模型方法方面,随着深度学习技术的发展,基于深度神经网络的事件抽取方法...

    wxPython事件处理

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

    事件触发模型:倒立摆控制仿真实验实现与Simulink模型运行指南(附详细参考文献),事件触发模型:倒立摆控制仿真实验与Simulink运行指南含详细参考文献,【有参考文献】事件触发模型 可实现倒立摆

    通过这些文档,读者不仅可以掌握使用Simulink进行倒立摆控制仿真实验的技能,还可以深入了解事件触发模型在现代控制理论中的应用。这些知识对于从事自动化、机器人技术、航空航天、汽车工业和其他需要精密控制技术的...

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

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

    Matlab Simulink中事件触发控制仿真的实现与稳定性研究

    使用场景及目标:①帮助用户深入了解事件触发控制的工作原理;②掌握使用Matlab Simulink进行复杂控制系统仿真的技能;③提高实际控制系统设计中的效率和性能。 其他说明:文章不仅提供了理论知识,还包括大量实战...

    事件触发控制模型在倒立摆控制系统中的应用及Simulink仿真实现

    适合人群:对控制理论感兴趣的研究人员和技术爱好者,尤其是希望了解事件触发控制模型及其具体应用场景的人群。 使用场景及目标:适用于需要高效资源管理的控制系统设计,特别是那些对实时性和能耗有较高要求的场合...

Global site tag (gtag.js) - Google Analytics