`
presses
  • 浏览: 116113 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论
阅读更多
1、事件分类:
按事件是否由用户触发,事件类型分为:用户触发事件与非用户触发事件。鼠键触发的,一般为用户触发事件。而由定时器、服务端响应等事件为非用户触发。[注意,fp10(flash player 10)的上传下载操作,只能由用户事件触发]

2、事件根类
as3(actionscript 3)中每个事件都由一个事件对像表示。所有事件都继承自同一根类(flash.events.Event)。[利用这一特性可以处理当一个事件处理类要处理多种不同事件时,处理函数的参数可以写为event:Event]示例如下:
为对像注册事件处理类:
Application.application.stepCanvas.addEventListener(ResizeEvent.RESIZE, onLayoutChange);

事件处理类:
public function onLayoutChange(event : Event) : void{}

]

3、事件流(Event flow):
一、定义:从事件动作发生到事件传递完毕这一过程叫事件流。
二、过程:事件流分以下阶段:事件动作发生->FP新建事件对像->事件对像从最外层容器往事件目标下沉->到达事件目标后,按原路往外层容器冒泡。
三、应用:这一过程意味着你不一定要把事件监听器放到目标对像,你也可以放到事件流中的任一个对像中。

四、特殊情况:并不是所有事件都有事件流。对于特定的事件,例如enterFrame、init等特列事件及socket相关事件都是直接到目标对像的。
事件流如下图所示:




4、事件目标(event target):
事件发生后,事件流经过的所有控件都可以监听到该事件。但事件目标只有一个,就是事件发生的地方。[在实际应用中,我们一般不关心事件目标。例如我要监听一个控件A的鼠标动作,那么我关心的是整个控件。不管事件发生在控件A上还是控件A的子控件上]。

5、默认行为(default behavior)/阻止默认行为:
一、部份事件会关联默认行为。例如在输入框中按键盘,默认行为是在输入框中出现文字。
二、在事件流中对事件对像调用preventDefault()可以阻止默认行为。
三、这里要注意,并非所有事件都有关联默认行为,例如服务端或用户自定义事件。并非所有默认行为都可以阻止,例如点击单选框时,文字被选中。要看看事件的默认行为是否可以被阻止,可以检查Event.cancelable。

6、对像事件类形:
在面向对像术语中,我们一般把class翻译成类,把interface翻译成类形。而我们在为对像增加监听器时,参数中的事件类形是一个字符串。例如MouseEvent.Click="click"。

7、Event核心属性:
一、bubbles:Boolean,该事件流是否参与冒泡阶段。
二、eventPhase:Integer,该事件所处的阶段:捕获(下沉)阶段,事件目标,冒泡三个阶段。这些常量放在

EventPhase中。
三、target:事件目标的引用。
四、currentTarget:当前正在处理事件的对像的引用。[刚开始时,你可能觉得target比较常用,而currentTarget不常用。但后来你发现currentTarget更常用。]

8、停止事件流:
一、stopPropogation():执行完当前节点的所有监听方法后停止事件流往下走。
二、stopImmediatePropogation():停止事件流往下走且停止当前节点的其它监听方法。

9、EventDispatcher:
大部份的控件都继承自EventDispatcher。EventDispatcher让控件有了事件监听、移除事件监听器及分发事件的能力。
一、addEventListenner方法:这里有几个不常用但比较重要的属性分别是useCapture:是否在捕获取段起调用。如果你需要函数在捕获和冒泡阶段都调用,即需要调用addEventListener两次。priority:默认为零,值越大,优先级越高。当优先级相关时,即按添加顺序执行。
二、removeEventListener:此方法与addEventListener方法对应。[这里有一个疑问,为何不增加一个removeAllEventListener方法?]
三、dispatchEvent:分发事件。分发事件后,事件的target属性是对分发对像的引用。

10、为对像增加监听器:为EventDispatcher对像增加监听器有两种形式。
一、as(ActionScript)中调用addEventListener。优点:更弹性的控制,例如优先级、userCapture等。在运行期间可以用removeEventListener删除监听器。
二、在mxml中为具体属性付值。可以只写as语句而不需要方法。可以在方法中传任意参数,而不局限于event或其子类。[注意,此方式增加的监听器,不能在运行期间执行removeEventListener移除]。

11、分发事件。
分发自定义的事件在默认情况下只有目标阶段而不经过冒泡及捕获阶段。所以此时在外层对像中捕获不到事件。若要分发自定义的事件,在构造时让bubble为true,例如:tt.dispatchEvent(new Event('pp',true));
  • 大小: 16.9 KB
0
0
分享到:
评论

相关推荐

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十五:事件处理

    本教程主要聚焦于JavaScript的事件处理,这是实现用户交互的关键部分。事件处理是JavaScript中的一种机制,用于响应用户的操作或者浏览器的状态变化,如点击按钮、提交表单、滚动页面等。 在JavaScript中,事件处理...

    JAVA事件处理指南

    在Java编程语言中,事件处理是用户界面(UI)编程的核心部分,它使得应用程序能够响应用户的操作,如点击按钮、选择菜单项或者滚动窗口。在《JAVA事件处理指南》这本书中,作者深入浅出地讲解了Java事件处理的各个...

    java点菜系统代码.doc

    知识点 10:事件处理机制 事件处理机制是 Java 语言中的一种机制,用于处理用户界面事件,例如按钮点击、单选框选择等。事件处理机制提供了一个灵活的方式来处理事件,支持多种事件监听器接口,例如 ActionListener...

    SIki学院的高度解耦和:事件的监听与广播系统(Unity2018.1.0)资料

    通过实现或继承特定接口,或者使用委托(Delegate)和事件(Event)机制,一个对象可以订阅事件并提供事件处理方法。 4. **事件广播(EventBroadcast)**: 当某个事件发生时,事件广播机制会将该事件通知给所有已...

    C#的核心问题-WIN10系统无法响应触摸屏的按下和弹起事件怎么办.rar

    总之,处理WIN10系统下触摸屏的按下和弹起事件问题,需要综合考虑系统设置、驱动更新、应用程序代码以及事件处理机制。通过分析提供的WinForms项目和WPF示例,结合参考资料,应能有效地解决这个问题。

    第9章Java事件处理共44页.pdf.zip

    Java事件处理是Java编程中的重要组成部分,特别是在开发用户界面(UI)应用程序时,它使得程序能够响应用户的交互操作。在本章"第9章Java事件处理"中,我们将会深入探讨这一主题,涵盖了大量的概念、技术和实践应用...

    windows事件ID10,WMI错误的解决方法

    错误ID10通常表示WMI提供程序在尝试访问或处理WMI数据时遇到了问题。这可能是由于多种原因引起的,包括但不限于: 1. **注册表损坏**:WMI依赖于注册表来存储其配置信息。如果注册表项错误或损坏,可能会导致WMI...

    0910事件处理

    10. **事件分离**:为了保持代码的清晰和可维护性,通常建议将事件处理逻辑从HTML结构中分离出来,放到独立的JS文件或模块中。 以上是事件处理的一些核心概念,具体到"0910事件处理",可能涉及到特定的编程语言、...

    行业分类-物理装置-一种事件流处理方法、事件流处理装置及移动终端.zip

    5. **复杂事件处理(CEP)**:这是一类高级的事件流处理技术,可以识别和响应一系列相关事件,以检测模式、异常或趋势。 6. **事件源**:在物理装置中,事件可能来自各种传感器、设备日志或其他数据生成点。 7. **...

    处理应急 突发事件处理-论文.zip

    10. **业务连续性管理**:突发事件处理不仅关注技术层面,更关乎业务的连续性。一个良好的业务连续性计划(BCP)和灾难恢复计划(DRP)可以帮助企业在危机中维持关键业务的运行。 综上所述,"处理应急 突发事件处理...

    Java事件传递技术

    10. **模型-视图-控制器(MVC)模式**:事件处理常与MVC模式结合使用,其中事件监听器作为控制器,负责响应用户操作并更新模型或视图。 以上就是Java事件传递技术的基本介绍。熟练掌握这一技术对于创建响应式、用户...

    Android 事件处理机制 demo

    在Android应用开发中,事件处理机制是至关重要的组成部分,它涉及到用户与应用程序的交互,包括点击、滑动等各类操作。本示例"Android 事件处理机制 demo"将深入探讨这一主题,通过实际代码演示如何有效地管理和响应...

    实验8 JavaScript事件处理(4学时).zip

    JavaScript事件处理是Web开发中的核心概念,它使得用户与网页之间的交互变得更加动态和响应性。在本实验“实验8 JavaScript事件处理(4学时)”中,我们将深入探讨这一主题,学习如何通过JavaScript来响应用户的操作...

    11事件处理共24页.pdf.zip

    很抱歉,根据您提供的信息,"11事件处理共24页.pdf.zip" 和 "赚钱项目" 这些内容并没有直接关联到具体的IT知识点。不过,我可以根据“事件处理”这个概念来阐述一下在计算机编程和软件开发中的事件驱动编程模型。 ...

    模拟JDK AWT的事件处理机制

    10. **事件处理的层次结构**: - AWT组件可以嵌套,事件可能会被父组件和子组件同时捕获。通过设置组件的可见性或设置事件的传播标志,可以控制事件在组件层次结构中的传播。 了解和掌握AWT的事件处理机制对于开发...

    Android、教程<经典> 6 Android事件处理

    在Android开发中,事件处理是应用交互的核心部分,它使得用户与界面元素进行互动成为可能。本教程将深入探讨Android事件处理机制,包括点击事件、触摸事件以及各种监听器的使用。以下是关于这个主题的详细内容: 1....

    Java事件处理机制教学方法探讨.zip

    10. **事件调度**:Java事件处理机制还涉及到事件队列和事件调度。事件被放入一个线程安全的队列中,由事件调度线程按顺序处理。 11. **Swing Timer**:Swing提供了Timer类,用于在指定的时间间隔后触发事件,这在...

    易语言源码处理事件的提速.rar

    2. **事件处理函数优化**:优化事件处理函数是提高事件处理速度的关键。这包括减少不必要的计算,避免循环内调用大型函数,以及使用更高效的算法。此外,合理使用缓存和数据结构也能显著提升性能。 3. **并发与多...

    delphi事件赋值操作

    事件处理程序通常是对象的方法,因此当对象被释放时,与其相关的事件处理程序也会失效。为防止内存泄露,确保在不再需要事件处理程序时取消对其的引用。 9. **事件的安全性**: 在多线程环境中,事件处理需考虑...

    第10章 高级事件(下)

    在文件"10-3"中,可能会包含进一步的示例代码、讲解或实践练习,帮助读者深化对这些高级事件处理概念的理解。通过深入学习和实践,开发者能够创建更加灵活、用户友好的应用程序,并具备处理复杂交互场景的能力。

Global site tag (gtag.js) - Google Analytics