事件处理基础知识(一)捕获、目标、冒泡三个阶段
2012-05-23 15:18
585 查看
事件流
只要发生事件,Flash Player 或 AIR 就会调度事件对象。如果事件目标不在显示列表中,则 Flash Player 或 AIR 将事件对象直接调度到事件目标。例如,Flash Player 将 progress 事件对象直接调度到 URLStream 对象。但是,如果事件目标在显示列表中,则 Flash Player 将事件对象调度到显示列表,事件对象将在显示列表中穿行,直到到达事件目标。
“ 事件流” 说明事件对象如何在显示列表中穿行。显示列表以一种可以描述为树的层次结构形式进行组织。位于显示列表层次结构顶部的是舞台,它是一种特殊的显示对象容器,用作显示列表的根。舞台由 flash.display.Stage 类表示,且只能通过显示对象访问。每个显示对象都有一个名为 stage 的属性,该属性表示应用程序的舞台。
当 Flash Player 或 AIR 为显示列表相关的事件调度事件对象时,该事件对象将进行一次从舞台到“ 目标节点” 的往返行程。DOM 事件规范将目标节点定义为代表事件目标的节点。也就是说,目标节点是发生了事件的显示列表对象。例如,如果用户单击名为 child1 的显示列表对象, Flash Player 或 AIR 将使用 child1 作为目标节点来调度事件对象。
从概念上来说,事件流分为三部分。第一部分称为捕获阶段,该阶段包括从舞台到目标节点的父节点范围内的所有节点。第二部分称为目标阶段,该阶段仅包括目标节点。第三部分称为冒泡阶段。冒泡阶段包括从目标节点的父节点返回到舞台的行程中遇到的节点。
如果您将显示列表想像为一个垂直的层次结构,其中舞台位于顶层(如下图显示),那么这些阶段的名称就更容易理解了:
如果用户单击 Child1 Node,Flash Player 或 AIR 将向事件流调度一个事件对象。如下面的图像所示,对象的行程从舞台开始,向下移到父节点,然后移到 Child1 节点,再“ 冒泡” 返回到舞台(即在行程中重新经过父节点,再返回到舞台。
在此示例中,捕获阶段在首次向下行程中包括舞台和父节点。目标阶段包括在 Child1 花费的时间。冒泡阶段包括在向上返回到根节点的行程中遇到的父节点和舞台。
只要发生事件,Flash Player 或 AIR 就会调度事件对象。如果事件目标不在显示列表中,则 Flash Player 或 AIR 将事件对象直接调度到事件目标。例如,Flash Player 将 progress 事件对象直接调度到 URLStream 对象。但是,如果事件目标在显示列表中,则 Flash Player 将事件对象调度到显示列表,事件对象将在显示列表中穿行,直到到达事件目标。
“ 事件流” 说明事件对象如何在显示列表中穿行。显示列表以一种可以描述为树的层次结构形式进行组织。位于显示列表层次结构顶部的是舞台,它是一种特殊的显示对象容器,用作显示列表的根。舞台由 flash.display.Stage 类表示,且只能通过显示对象访问。每个显示对象都有一个名为 stage 的属性,该属性表示应用程序的舞台。
当 Flash Player 或 AIR 为显示列表相关的事件调度事件对象时,该事件对象将进行一次从舞台到“ 目标节点” 的往返行程。DOM 事件规范将目标节点定义为代表事件目标的节点。也就是说,目标节点是发生了事件的显示列表对象。例如,如果用户单击名为 child1 的显示列表对象, Flash Player 或 AIR 将使用 child1 作为目标节点来调度事件对象。
从概念上来说,事件流分为三部分。第一部分称为捕获阶段,该阶段包括从舞台到目标节点的父节点范围内的所有节点。第二部分称为目标阶段,该阶段仅包括目标节点。第三部分称为冒泡阶段。冒泡阶段包括从目标节点的父节点返回到舞台的行程中遇到的节点。
如果您将显示列表想像为一个垂直的层次结构,其中舞台位于顶层(如下图显示),那么这些阶段的名称就更容易理解了:
如果用户单击 Child1 Node,Flash Player 或 AIR 将向事件流调度一个事件对象。如下面的图像所示,对象的行程从舞台开始,向下移到父节点,然后移到 Child1 节点,再“ 冒泡” 返回到舞台(即在行程中重新经过父节点,再返回到舞台。
在此示例中,捕获阶段在首次向下行程中包括舞台和父节点。目标阶段包括在 Child1 花费的时间。冒泡阶段包括在向上返回到根节点的行程中遇到的父节点和舞台。
相关文章推荐
- 事件的三个阶段:捕获阶段 目标阶段 冒泡阶段
- 事件的三个阶段:捕获阶段 目标阶段 冒泡阶段
- 事件的三个阶段:捕获阶段 目标阶段 冒泡阶段
- Javascript 事件的捕获,冒泡和目标阶段的回调函数执行顺序
- 关于dom 事件冒泡、捕获 dom事件三个阶段
- 关于dom 事件冒泡、捕获 dom事件三个阶段
- 理解捕获,目标,冒泡三个阶段
- 捕获阶段调用事件处理程序和冒泡阶段调用事件处理程序的区别是什么呢?
- 理解JS捕获、目标、冒泡三个阶段
- DOM标准事件的三个阶段:冒泡、捕获 dom事件三个阶段
- Dom事件处理三阶段--捕获,命中,冒泡
- DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
- jQuery基础----05jQuery选择器和事件-事件之事件目标与冒泡
- 前端基本知识(一):W3C标准&&冒泡事件,捕获事件,W3C DOM对象模型,对比分析
- js基础特效04阻止事件冒泡及封装及获取事件目标
- 【Nginx-反向代理服务器】基础知识(一)之事件处理机制
- android基础知识03——事件处理02:事件流顺序
- android基础知识03——事件处理01:主要事件及其处理方式
- nodejs之旅-005-基础知识-事件处理机制及事件环机制
- DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)