Метод Sys.UI.DomEvent addHandlers
Добавляет список обработчиков событий DOM в элемент DOM, предоставляющий события. Этот элемент является статическим и его можно вызывать, не создавая экземпляр класса.
Sys.UI.DomEvent.addHandlers(element, events, handlerOwner, autoRemove);
Параметры
Термин |
Определение |
---|---|
element |
Элемент DOM, предоставляющий события. |
events |
Словарь обработчиков событий. |
handlerOwner |
(Необязательный). Экземпляр объекта, являющийся контекстом для делегатов, которые должны быть созданы из обработчиков. |
autoRemove |
(Необязательно.) Логическое значение, определяющее, должен ли обработчик удаляться автоматически после освобождения элемента. |
Исключения
Тип исключения |
Атрибут Condition |
---|---|
(Отладка). Один из обработчиков, заданных в events, не является функцией. |
Заметки
Метод addHandlers используется для добавления списка обработчиков событий DOM в элемент, предоставляющий событие.
Параметр events получает список пар вида name/value, разделяемых запятыми, в формате name:value, где name является именем события DOM, а value является именем функции обработчика. Если имеется несколько пар имя-значение, список должен быть заключен в фигурные скобки ({}), чтобы указать, что это один параметр. Несколько пар имя-значение разделяются запятыми. Имена событий не должны включать префикс "on". Например, "click" вместо "onclick".
Если задан параметр handlerOwner, для каждого обработчика создаются делегаты. Эти делегаты вкладываются в заданный экземпляр объекта, и указатель this из обработчика делегата будет ссылаться на объект handlerOwner.
Доступ к этому методу можно получить с помощью метода $addHandlers.
Пример
В следующем примере демонстрируется способ связи обработчиков событий с элементом с помощью метода addHandlers.
<script type="text/javascript">
Sys.UI.DomEvent.addHandlers($get("Button1"), {click:processEventInfo,mouseover:processEventInfo,mouseout:processEventInfo});
function processEventInfo(eventElement) {
var result = '';
result += eventElement.type;
$get('Label2').innerHTML = result;
}
</script>
<script type="text/javascript">
Sys.UI.DomEvent.addHandlers($get("Button1"), {click:processEventInfo,mouseover:processEventInfo,mouseout:processEventInfo});
function processEventInfo(eventElement) {
var result = '';
result += eventElement.type;
$get('Label2').innerHTML = result;
}
</script>