Page 126 - 6108
P. 126
var rect = document.getElementById("rect");
rect.addEventListener("click", function (e) {
alert(e.type);
});
function handler(e){
alert(e.type);
}
rect.addEventListener(("click", handler);
Метод дозволяє встановити більше одного обробника одного типу.
let clicks = 0;
function handlerOne(e){
alert(e.type);
}
function handlerTwo(e){
clicks++;
var newNode = document.createElement("p");
newNode.textContent = "Клікнуто " + clicks + " раз";
document.body.appendChild(newNode);
}
var rect = document.getElementById("rect");
rect.addEventListener("click", handlerOne, true);
rect.addEventListener("click", handlerTwo);
Зняти такі обробники дозволяє метод removeEventListener().
Обробник визначається типом події, самою функцією обробки події, і
додатковими параметрами, переданими при реєстрації обробника.
target.removeEventListener(type, listener[, options]);
target.removeEventListener(type, listener[, useCapture]);
Параметри методу аналогічні методу addEventListener(). Проте,
якщо обробник був зареєстрований двічі, один раз з перехопленням (з
useCapture = true) і один - без, кожен з них повинен бути вилучений
окремо. Видалення перехоплюючого обробника ніяк не зачіпає версію без
перехоплення цього ж обробника, і навпаки.
rect.removeEventListener("click", handlerOne, true);
rect.removeEventListener("click", handlerTwo);
Метод dispatchEvent() відправляє подія в загальну систему подій. Ця
подія підпорядковується тим же правилам поведінки "захоплення" і
"спливання" як і безпосередньо ініційовані події.
target.dispatchEvent (event)
event – об'єкт події, що ініціалізується.
target – використовується для ініціалізації Event.target і установки
події, яку викликає обробник.
3.5.2 Порядок обробки подій
Події можуть виникати не тільки по черзі, а й «пачкою» по багато відразу.
Можливо і таке, що під час обробки одного події виникають інші, наприклад