EventDispatcher.addEventListener()
지원 버전
Flash Player 6 (6.0.79.0).
버전
Flash MX 2004 및 Flash MX Professional 2004.
구문
componentInstance
.addEventListener(event
,listener
)
매개 변수
event
이벤트 이름을 나타내는 문자열입니다.
listener
리스너 객체 또는 함수에 대한 참조입니다.
반환값
없습니다.
설명
이벤트를 브로드캐스팅하는 구성 요소 인스턴스에 리스너 객체를 등록하는 메서드입니다. 이벤트가 발생하면 리스너 객체나 함수에게 알립니다. 이 메서드를 모든 구성 요소 인스턴스에서 호출할 수 있습니다. 예를 들어, 다음 코드는 구성 요소 인스턴스 myButton
에 리스너를 등록합니다.
myButton.addEventListener("click", myListener);
addEventListener()
를 호출하여 구성 요소 인스턴스에 리스너를 등록하기 전에 해당 리스너를 객체나 함수로 정의해야 합니다. 리스너가 객체인 경우에는 이벤트가 발생할 때 호출되는 콜백 함수가 정의되어 있어야 합니다. 일반적으로 콜백 함수 이름은 리스너가 등록된 대상 이벤트 이름과 같습니다. 리스너가 함수인 경우에는 이벤트가 발생할 때 해당 함수가 호출됩니다. 자세한 내용은 구성 요소 사용 설명서의 리스너를 사용하여 이벤트 처리을(를) 참조하십시오.
단일 구성 요소 인스턴스에 리스너를 여러 개 등록할 수 있습니다. 그러려면 각 리스너에 대해 addEventListener()
를 개별적으로 호출해야 합니다. 여러 구성 요소에 단일 리스너를 등록할 수도 있으며, 이 경우에는 각 인스턴스에 대해 addEventListener()
를 개별적으로 호출해야 합니다. 예를 들어, 다음 코드는 하나의 리스너 객체를 정의하여 label
속성이 각각 button1
과 button2
인 두 Button 구성 요소 인스턴스에 할당합니다.
lo = new Object(); lo.click = function(evt){ trace(evt.target.label + " clicked"); } button1.addEventListener("click", lo); button2.addEventListener("click", lo);
실행 순서는 확실하지 않습니다. 특정 리스너가 다른 리스너보다 먼저 호출되도록 지정할 수 없습니다.
이벤트 객체는 매개 변수로 리스너에 전달됩니다. 이 이벤트 객체는 발생한 이벤트에 대한 정보가 들어 있는 속성을 갖습니다. 이벤트 객체를 리스너 객체 콜백 함수 안에 사용하면 발생한 이벤트 유형 및 이벤트를 브로드캐스팅한 구성 요소에 대한 정보에 액세스할 수 있습니다. 위의 예제에서는 클릭된 버튼 인스턴스를 확인하기 위해 이벤트 객체 evt
(이벤트 객체 이름으로 아무 식별자나 사용할 수 있음)를 if
문 안에 사용했습니다. 자세한 내용은 구성 요소 사용 설명서의 이벤트 객체을(를) 참조하십시오.
예제
다음 예제에서는 리스너 객체 myListener
를 정의하고 click
이벤트에 대한 콜백 함수를 정의합니다. 그런 다음 addEventListener()
를 호출하여 myButton
구성 요소 인스턴스에 myListener
리스너 객체를 등록합니다.
myListener = new Object(); myListener.click = function(evt){ trace(evt.type + " triggered"); } myButton.addEventListener("click", myListener);
이 코드를 테스트하려면 스테이지에 Button 구성 요소를 배치하고 인스턴스 이름을 myButton
으로 지정한 다음 프레임 1에 이 코드를 입력합니다.
출처:adove livedocs