설명

Event 클래스를 기본 클래스로 하여 만들어진 Event 객체는 이벤트 발생 시 매개 변수로 이벤트 리스너에 전달됩니다. 이벤트 리스너 함수에서 메서드를 사용하면 이벤트 객체의 비헤이비어를 수정할 수 있습니다. 예를 들어, stopPropagation() 또는 stopImmediatePropagation() 메서드를 호출하여 현재 이벤트 리스너를 이벤트를 처리할 마지막 리스너로 설정할 수 있습니다.

구문

new flwebgl.events.Event(type, bubbles)

매개 변수

이름유형설명
type
문자열
이벤트의 유형입니다
bubbles
boolean
이벤트 흐름의 버블 스테이지에 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()

설명

    이 메서드는 이벤트의 버블링 여부를 나타냅니다.

반환값

  • 유형 - boolean

getCurrentTarget()

설명

   이 메서드는 이벤트 리스너를 통해 Event 객체를 현재 처리 중인 객체를 반환합니다.

반환값

  • 유형 - flwebgl.events.EventDispatcher

예제

이 조각은 스테이지 및 스테이지의 가장 자식(mc)에 이벤트 리스너를 추가합니다. 자식이 'mc'에 추가되면 이벤트 리스너(handlerFn2)가 실행됩니다. ADDED 이벤트는 버블링되므로 'mc'의 모든 리스너가 실행된 이후 스테이지의 이벤트 리스너(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()

설명

    이 메서드는 이벤트 유형을 나타냅니다.

반환값

  • 유형 - String

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 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책