addlistener
클래스: handle
이벤트 소스에 바인딩된 이벤트 리스너 생성
구문
el = addlistener(hSource,EventName,callback)
el = addlistener(hSource,PropertyName,EventName,callback)
addlistener(___)
설명
은 el
= addlistener(hSource
,EventName
,callback
)EventName
이벤트가 소스 객체 hSource
에서 트리거될 때 이 이벤트에 대한 리스너를 생성합니다.
hSource
가 배열이면 리스너는 hSource
배열의 어느 객체에서든 이벤트가 발생하면 응답합니다. callback
은 콜백 함수를 참조하는 함수 핸들입니다.
은 미리 정의된 속성 이벤트 중 하나에 대한 리스너를 생성합니다. 다음과 같이 4개의 미리 정의된 속성 이벤트가 있습니다.el
= addlistener(hSource
,PropertyName
,EventName
,callback
)
addlistener(___)
는 핸들 없이 리스너 객체를 생성합니다. 이 구문은 위에 열거된 모든 입력 구문과 함께 사용할 수 있습니다.
이벤트 이름 | 이벤트 발생 시기 |
---|---|
PreSet | 속성값이 설정되기 직전, set 액세스 메서드를 호출하기 전에 발생함 |
PostSet | 속성값을 설정한 직후에 발생함 |
PreGet | 속성값 쿼리가 처리되기 직전, get 액세스 메서드를 호출하기 전에 발생함 |
PostGet | 쿼리에 속성값을 반환한 직후에 발생함 |
입력 인수
출력 인수
예제
팁
리스너의 핸들이 들어 있는 변수(예:
el
)를 재정의하거나 지워도 리스너는 삭제되지 않습니다. 이벤트 객체(hSource
)에는 여전히event.listener
객체에 대한 참조가 있습니다.addlistener
는 리스너의 라이프사이클을 이벤트의 소스 객체에 연결합니다.리스너는 이벤트 소스의 라이프사이클에 바인딩되지만 리스너는 다음과 같은 경우에 이벤트 소스가 제거된 후에도 계속 존재합니다.
리스너에 대한 하나 이상의 참조가 다른 변수에 있는 경우(생성 시점에 리스너의 핸들이 지정된 경우 핸들 포함).
리스너가 다른 이벤트 소스에 연결된 경우.
리스너를 제거하려면
addlistener
에서 반환되는 리스너 객체를 삭제하십시오. 예를 들면 다음과 같습니다.delete(el)
위 명령은 핸들 클래스 삭제 메서드를 호출하여 작업 공간에서 객체를 삭제하고 리스너를 제거합니다.
이벤트 객체에 연결되지 않는 리스너를 정의하려면
event.listener
생성자를 사용하여 리스너를 직접 생성하십시오.
대안
리스너 객체의 라이프사이클이 소스 객체 라이프사이클에 독립적이 되도록 하려면 리스너를 만들 때 listener
를 사용하십시오.
확장 기능
버전 내역
R2008a에 개발됨