Класс: указатель
Создайте прослушиватель событий, привязанный к источнику событий
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 | Непосредственно перед установкой значения свойства, перед вызовом его метода доступа к набору |
PostSet | Сразу после установки значения свойства |
PreGet | Непосредственно перед обслуживанием запроса значения свойства, перед вызовом его метода get access |
PostGet | Сразу после возврата значения свойства в запрос |
Переопределение или удаление переменной, содержащей указатель на прослушиватель (для примера el
) не удаляет прослушиватель. Объект события (hSource
) все еще имеет ссылку на event.listener
объект. addlistener
связывает жизненный цикл прослушивателя с объектом, который является источником события.
Несмотря на то, что прослушиватель связан с жизненным циклом источника события, прослушиватель продолжает существовать после того, как источник события будет уничтожен, когда:
Одна или несколько ссылок на прослушиватель относятся к другим переменным, включая указатель на прослушиватель, если он был задан при создании.
Прослушиватель привязан к другим источникам событий.
Чтобы удалить прослушиватель, удалите объект прослушивателя, возвращенный addlistener
. Для примера,
delete(el)
вызывает метод удаления класса handle, чтобы удалить объект из рабочей области и удалить прослушиватель.
Чтобы задать прослушиватель, который не связан с объектом события, используйте event.listener
конструктор непосредственно для создания прослушивателя.
Когда вам нужен жизненный цикл объекта прослушивателя, чтобы быть независимым от жизненного цикла исходного объекта, используйте listener
для создания прослушивателей.