Класс: дескриптор
Создать прослушиватель событий, привязанный к источнику событий
el = addlistener(hSource,EventName,callback)
el = addlistener(hSource,PropertyName,EventName,callback)
addlistener(___)
создает прослушиватель для события el = addlistener(hSource,EventName,callback)EventName при срабатывании на исходном объекте, hSource.
Если hSource является массивом, прослушиватель отвечает на именованное событие для любого объекта в hSource массив. callback - дескриптор функции, ссылающийся на функцию обратного вызова.
создает прослушиватель для одного из предопределенных событий свойств. Существует четыре предопределенных события свойств:el = addlistener(hSource,PropertyName,EventName,callback)
addlistener(___) создает объект прослушивателя без дескриптора. Этот синтаксис можно использовать с любым из предыдущих входных синтаксисов.
| Имя события | Событие происходит |
|---|---|
PreSet | Непосредственно перед установкой значения свойства перед вызовом метода доступа set |
PostSet | Сразу после установки значения свойства |
PreGet | Непосредственно перед обслуживанием запроса значения свойства перед вызовом метода доступа get |
PostGet | Сразу после возврата значения свойства в запрос |
Переопределение или удаление переменной, содержащей дескриптор прослушивателя (например, el) не удаляет прослушиватель. Объект события (hSource) все еще имеет ссылку на event.listener объект. addlistener связывает жизненный цикл прослушивателя с объектом, который является источником события.
Хотя прослушиватель привязан к жизненному циклу источника события, прослушиватель продолжает существовать после того, как источник события будет уничтожен, когда:
Одна или несколько ссылок на прослушиватель находятся в других переменных, включая дескриптор прослушивателя, если он был указан при создании.
Прослушиватель привязан к другим источникам событий.
Чтобы удалить прослушиватель, удалите объект прослушивателя, возвращенный addlistener. Например,
delete(el)
вызывает метод удаления класса дескриптора, чтобы удалить объект из рабочей области и удалить прослушиватель.
Чтобы определить прослушиватель, не связанный с объектом события, используйте event.listener непосредственно для создания прослушивателя.
Если жизненный цикл объекта-прослушивателя должен быть независимым от жизненного цикла исходного объекта, используйте listener для создания прослушивателей.