描述

Event 类是创建 Event 对象的基类,当发生事件时,Event 对象将作为参数传递给事件侦听器。您可以使用事件侦听器函数中的方法来修改事件对象的行为。例如,您可以通过以下方式让当前事件侦听器最后一个来处理事件:调用 stopPropagation()stopImmediatePropagation() 方法。

语法

new flwebgl.events.Event(type, bubbles)

参数

名称类型说明
type
字符串
事件的类型
bubbles
布尔值
确定 Event 对象是否参与事件流的冒泡舞台。默认值为 false

静态属性

名称类型说明
flwebgl.events.Event.ENTER_FRAME字符串每当 MovieClip 进入一个帧(处理时间轴动画之前)时调度
flwebgl.events.Event.ADDED
字符串
在显示元素作为子对象添加时调度。
flwebgl.events.Event.FRAME_CONSTRUCTED字符串当前帧被结构化之后,执行帧脚本之前,调度此事件。
flwebgl.events.Event.EXIT_FRAME字符串每当 MovieClip 退出一个帧(处理时间轴动画之后)时调度
flwebgl.events.Event.REMOVED
字符串
从父对象删除显示元素之前调度。

 

 

方法

getBubbles()

说明

此方法指示事件是否冒泡。

返回值

  • 类型 - 布尔值

getCurrentTarget()

说明

    此方法返回当前正在使用某个事件侦听器处理 Event 对象的对象。

返回值

  • 类型 - flwebgl.events.EventDispatcher

示例

此代码片段将对舞台和其最顶部的子对象 (mc) 添加一个事件侦听器。向“mc”添加一个子对象时,将执行其事件侦听器 (handlerFn2)。由于 ADDED 事件冒泡,在“mc”的所有侦听器都执行之后,ADDED 事件会沿层级结构向上被发送到舞台的事件侦听器 (handlerFn1)。

function handlerFn1(e) {
    console.log("Handler 1");
    var t1 = e.getTarget();	// First child of stage
    var t2 = e.getCurrentTarget();	// Stage
}

function handlerFn2(e) {
    console.log("Handler 2");
    var t1 = e.getTarget();    // First child of stage
    var t2 = e.getCurrentTarget();// First child of stage
}

var stage = player.getStage();
var mc = player.getChildAt(0);
stage.addEventListener(flwebgl.events.Event.ADDED, handlerFn1);
mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn2);

getTarget()

说明

此方法返回事件目标。

返回值

  • 类型 - flwebgl.events.EventDispatcher

示例

请参见 getCurrentTarget() 下的示例。

getType()

说明

此方法指明事件类型。

返回值

  • 类型 - 字符串

stopImmediatePropagation()

说明

    此方法阻止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。

示例

在此例中,为 ADDED 事件将两个侦听器添加至舞台的最顶层子对象 (mc)。对“mc”添加子对象时将执行这两个侦听器。不过,从调用第一个事件侦听器 stopImmediatePropagation() 起,将阻止“mc”上的任何其他侦听器接收事件(如 handlerFn2)。此外,它还会阻止该事件沿层级结构向上冒泡到舞台。

function handlerFn1(e) {
    e.stopImmediatePropagation(); // Stops any other listeners from receiving this event
}

function handlerFn2(e) {
    console.log("This will not execute");
}

var stage = player.getStage();
var mc = player.getChildAt(0);
mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn1);
mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn2);

stopPropagation()

说明

此方法阻止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。

示例

在此例中,为 ADDED 事件将一个侦听器添加至舞台的最顶层子对象 (mc)。对“mc”添加子对象时将执行它。在此事件侦听器中,事件会被阻止沿层级结构向上冒泡(如冒泡到舞台)。

function handlerFn(e) {
    e.stopPropagation(); // Stops the event from bubbling up the hierarchy
}

var stage = player.getStage();
var mc = player.getChildAt(0);
mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn);

本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可  Twitter™ 与 Facebook 中的内容不在 Creative Commons 的条款约束之下。

法律声明   |   在线隐私策略