설명
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);
내 계정 로그인