Класс: указатель
Создайте прослушиватель событий, привязанный к источнику событий
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 для создания прослушивателей.