Регистрация обработчиков событий: интерфейс EventTarget
Поддержка : | | Не поддерживается. | | | Соответствует стандарту. |
Интерфейс EventTarget реализуется всеми узлами документа, которые поддерживают обработку событий. Иными словами, его методы являются дополнительными методами объектов Node.
Метод addEventListener
Синтаксис: узел.addEventListener(type, listener, useCapture) Аргументы: type - выражение типа DOMString listener - выражение типа EventListener useCapture - логическое выражение
Поддержка : | | Не поддерживается. | | | Соответствует стандарту. |
Метод addEventListener регистрирует новый обработчик listener события type для данного узла. Если аргумент useCapture равен true, то этот обработчик будет перехватывать событие type. Если новый обработчик регистрируется во время обработки события, то он будет активизироваться только следующими событиями. Повторная регистрация уже существующего обработчика для данного события игнорируется. Следующий пример перехватывает все щелчки мыши на Веб-странице и выводит тег HTML-элемента, на котором мы щелкнули.
function mouseClick(event) { var tag = event.target.tagName ? event.target.tagName : event.target.parentNode.tagName; alert(tag); }
document.addEventListener("click", mouseClick, true);
Если узел копируется методом cloneNode, то зарегистрированные для него обработчики событий не присоединяются к копии. При необходимости они должны быть вновь зарегистрированы для нового узла.
Метод dispatchEvent
Синтаксис: узел.dispatchEvent(evt) Аргументы: evt - выражение типа Event Исключения: UNSPECIFIED_EVENT_TYPE_ERR
Поддержка : | | Не поддерживается. | | | Соответствует стандарту. | >
Метод dispatchEvent генерирует событие evt. Обработка события, созданного этим методом, происходит так же, как обработка событий, сгенерированных исполняющей системой. Целью события является узел, из которого вызван данный метод. Пример:
var evt = new Event; evt.initEvent("click", true, true); document.body.dispatchEvent(evt);
Метод removeEventListener
Синтаксис: узел.removeEventListener(type, listener, useCapture) Аргументы: type - выражение типа DOMString listener - выражение типа EventListener useCapture - логическое выражение
Поддержка : | | Не поддерживается. | | | Соответствует стандарту. |
Метод removeEventListener удаляет обработчик события для данного узла. Аргументы listener, type и useCapture имеют тот же смысл, что в методе addEventListener. Если обработчик удаляется во время обработки события, то он уже не будет активизирован текущим событием. Попытка удалить обработчик с параметрами, не соответствующими ни одному из зарегистрированных обработчиков игнорируется. Пример:
document.removeEventListener("click", mouseClick, true);
1 2 3 4 5 6 7 8
8 8 8
| |