addEventListener
addEventListener
()
방법
public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
언어 버전:
ActionScript 3.0
런타임 버전:
AIR 1.0, Flash Player 9, Flash Lite 4
EventDispatcher 객체를 사용하여 이벤트 탐지기 객체를 등록하여 탐지기가 이벤트 알림을 수신할 수 있도록 합니다.특정 유형의 이벤트, 단계, 우선순위를 표시하는 목록의 모든 노드에 이벤트 탐지기를 등록할 수 있습니다.
이벤트 탐지기를 성공적으로 등록한 후 추가 호출
addEventListener()
을 통해 우선순위를 변경할 수 없습니다.탐지기의 우선 순위를 변경하려면 먼저 removeListener()
를 호출해야 합니다.그리고 새로운 우선순위를 사용하여 이 탐지기를 다시 등록할 수 있습니다.이 탐지기를 등록한 후에 다른
type
또는 useCapture
값을 가진 addEventListener()
을 계속 호출하면 단독 탐지기 등록이 생성된다는 것을 기억하십시오.예를 들어 우선 등록useCapture
이 true
의 탐지기로 설정되면 이 탐지기는 포획 단계에서만 탐지한다.같은 탐지기 대상을 다시 호출addEventListener()
하고 useCapture
을false
로 설정하면 두 개의 단독 탐지기가 있습니다. 하나는 포획 단계에서 탐지하고, 다른 하나는 목표와 거품 단계에서 탐지합니다.목표 단계나 거품 단계에만 이벤트 탐지기를 등록할 수 없습니다.이러한 단계는 등록 기간에 쌍으로 나타나는데 거품이 생기는 단계는 목표 노드의 조상에게만 적용되기 때문이다.
이벤트 탐지기가 더 이상 필요하지 않으면
removeEventListener()
를 호출하여 삭제할 수 있습니다. 그렇지 않으면 메모리 문제가 발생할 수 있습니다.이벤트 탐지기는 메모리에서 자동으로 삭제되지 않습니다. 스케줄링 대상이 존재하면 쓰레기 수거기는 탐지기를 삭제하지 않습니다(useWeakReference
파라미터가 true
로 설정되지 않는 경우).EventDispatcher 인스턴스를 복사할 때 추가된 이벤트 탐지기는 복사되지 않습니다.(최근에 생성된 노드에 이벤트 탐지기가 필요하다면, 이 노드를 만든 후에 이 탐지기를 추가해야 합니다.)그러나 EventDispatcher 인스턴스를 이동하면 추가 이벤트 탐지기가 이동합니다.
이벤트 처리 중인 노드에 이벤트 탐지기를 등록하면 현재 단계에서 이벤트 탐지기를 터치하지 않지만, 이벤트 흐름의 잠시 후 단계, 예를 들어 거품 단계와 같이 터치합니다.
이벤트 처리 중인 노드에서 이벤트 탐지기를 삭제하면 이벤트 탐지기는 현재 작업에서 촉발됩니다.이벤트 탐지기를 삭제하면 이 이벤트 탐지기를 다시 호출하지 않습니다. (나중에 처리할 수 있도록 다시 등록하지 않으면)
매개 변수
type:String
- 이벤트 유형입니다.listener:Function
- 이벤트를 처리하는 탐지기 함수입니다.이 함수는 Event 객체를 고유한 매개변수로 받아들여야 하며 다음 예제와 같이 결과를 반환할 수 없습니다.복사
function(evt:Event):void
함수는 어떤 이름도 가질 수 있다.
useCapture:Boolean
(default=false
— 。 useCapture
true
로 설정하면 탐지기는 포획 단계에서만 사건을 처리하고 목표나 거품 단계에서 사건을 처리하지 않는다.useCapture
은 false
이면 탐지기는 목표나 거품이 생기는 단계에서만 사건을 처리합니다.모든 3단계에서 사건을 탐지하려면 addEventListener
두 번 호출하십시오. 한 번은 useCapture
을 true
으로 설정하고, 한 번은 useCapture
을 false
으로 설정하십시오.
priority:int
(default = 0
) — 。 32 。 , 。 n n -1 。 , 。 0。
useWeakReference:Boolean
(default = false
— , 。 ( ) 。 。 , useWeakReference
true
로 설정하여 쓰레기 수거의 영향을 받지 않습니다.내부 함수를 끼워 넣은 탐지기가 useWeakReference
를 true
로 설정하면 이 함수는 쓰레기 수거로 사용되며 더 이상 영구 함수가 아닙니다.이 내부 함수에 대한 인용을 만들면 (이 함수를 다른 변수에 저장합니다.) 이 함수는 쓰레기로 회수되지 않고 영구적으로 유지됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.