JS метод Object.addEventListener()
Загальний опис
Метод addEventListener() є важливим інструментом у мові програмування JavaScript, який використовується для призначення обробників подій елементам DOM (Document Object Model). Він дозволяє встановити слухача (listener), який реагує на певні події, що виникають на елементі, такі як кліки миші, натискання клавіш, зміни стану форм і багато іншого. Сутність цього методу полягає в забезпеченні інтерактивності веб-сторінок, реагуванні на дії користувача та виконанні визначених дій у відповідь на ці події.
Основний синтаксис
Метод addEventListener() приймає три аргументи:
type: рядок, що вказує тип події, на яку слід реагувати (наприклад,"click","mouseover").listener: функція або об'єкт, що визначає дію, яка виконується при настанні події.options(необов'язково): об'єкт або булеве значення, що визначає характеристики обробника події (наприклад,{capture: true}).
Приклад використання
const button = document.getElementById('myButton');
button.addEventListener('click', function() {
alert('Кнопка натиснута!');
});
У цьому прикладі обробник події призначений для кнопки. Коли користувач клацає на кнопку, викликається функція, що виводить сповіщення.
Варіативність використання
Використання анонімної функції: У наведеному вище прикладі використано анонімну функцію. Це зручно для простих обробників подій.
Використання іменованих функцій: Для більш складної логіки або повторного використання функції обробника можна використовувати іменовані функції.
function showAlert() {
alert('Кнопка натиснута!');
}
button.addEventListener('click', showAlert);
- У цьому прикладі демонструється базове використання методу
addEventListener()для відстеження натискання на кнопку. Коли користувач натискає на кнопку, в консоль виводиться повідомлення. Цей приклад є хорошим стартом для розуміння основ роботи з подіями у JavaScript.
// Отримання посилання на елемент кнопки
const button = document.getElementById("myButton");
// Додавання обробника події натискання на кнопку
button.addEventListener("click", function() {
console.log("Кнопка була натиснута");
});
У наступному прикладі розглядається більш складний сценарій, де addEventListener() використовується для реагування на зміну значення текстового поля. Під час введення тексту у поле, його вміст перевіряється, і якщо текст співпадає з певним значенням, виконується додаткова дія. Цей приклад демонструє, як можна використовувати addEventListener() для створення динамічних взаємодій на веб-сторінці.
// Отримання посилання на текстове поле
const inputField = document.getElementById("myInput");
// Додавання обробника події для відстеження кожного введення символу
inputField.addEventListener("input", function(event) {
// Перевірка, чи введений текст співпадає з певним значенням
if (event.target.value === "JavaScript") {
console.log("Ви ввели 'JavaScript'");
}
});
Ці приклади ілюструють базовий та розширений способи застосування addEventListener() в різних контекстах і з різними типами подій, демонструючи його важливість та універсальність у розробці інтерактивних веб-сторінок.
- Порада
-
При використанні методу
автор: BondaddEventListener(), необхідно чітко визначити тип події, на яку буде реагувати обробник. Наприклад, якщо потрібно відслідковувати натискання на кнопку, використовуйте тип події"click". Це забезпечить точне та ефективне реагування програми на дії користувача. - Порада
-
У випадках, коли потрібно відписатися від події, слід точно відтворити сигнатуру функції, яка була передана в
автор: BondaddEventListener(). Це важливо, оскількиremoveEventListener()вимагає точного збігу функції-обробника, яку необхідно вилучити. Якщо функція була анонімною, відписатися від події буде неможливо. - Порада
-
Рекомендується використовувати анонімні функції або стрілкові функції як обробники подій у методі
addEventListener(). Це дозволяє забезпечити гнучкість та зручність при написанні коду, особливо при реалізації багаторазових обробників подій.
автор: Bondelement.addEventListener("click", () => { console.log("Кнопка натиснута"); }); - Нотатка
-
Використання третього параметра у
addEventListener(), об'єкта опцій, дає можливість вказати додаткові налаштування, такі якcapture,once, таpassive. Ці опції дозволяють контролювати фазу захоплення події, одноразове використання обробника та можливість пасивного прослуховування, що поліпшує продуктивність в деяких сценаріях.
автор: Bondelement.addEventListener("scroll", () => { // Обробка події прокрутки }, { passive: true });
Синтаксис
addEventListener(type, listener)
addEventListener(type, listener, options)
addEventListener(type, listener, useCapture)
Параметри
type-
Рядок, що чутливий до регістру, який представляє тип події, на яку слід реагувати.
автор: Bond listener-
Об'єкт, який отримує повідомлення (об'єкт, що реалізує інтерфейс
автор: BondEvent), коли відбувається подія вказаного типу. Це може бутиnull, об'єкт з методомhandleEvent()або функція JavaScript. Вказане у цьому аргументі значення визначає, як буде оброблятися подія. options-
Об'єкт, що визначає характеристики обробника подій. Доступні опції включають налаштування такі як
автор: Bondcapture,once,passive. useCapture-
Булеве значення, що вказує, чи будуть події цього типу направлені до зареєстрованого слухача перед їхнім направленням до будь-якого
автор: BondEventTargetпід ним у DOM-дереві. Якщо не вказано, за замовчуваннямuseCaptureвстановлюється якfalse. wantsUntrusted-
Параметр, специфічний для Firefox (Gecko). Якщо
автор: Bondtrue, слухач отримує синтетичні події, що розповсюджуються веб-контентом. Цей параметр корисний для коду у додатках, а також у самому браузері. За замовчуванням встановлюється якfalseдля браузерної оболонки та якtrueдля звичайних веб-сторінок.
Повернення
none-
Повертає
автор: Bondundefined.
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | 7 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 1 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 14.5.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Більш складний сценарій, де addEventListener() використовується для реагування на зміну значення текстового поля. Під час введення тексту у поле, його вміст перевіряється, і якщо текст співпадає з певним значенням, виконується додаткова дія. Цей приклад демонструє, як можна використовувати addEventListener() для створення динамічних взаємодій на веб-сторінці.
HTML
<input type="text" id="myInput" value="текст для прикладу" placeholder="Введи щось">
JS
// Отримання посилання на текстове поле
const inputField = document.getElementById("myInput");
// Додавання обробника події для відстеження кожного введення символу
inputField.addEventListener("input", function(event) {
// Перевірка, чи введений текст співпадає з певним значенням
if (event.target.value === "JavaScript") {
console.log("Ви ввели 'JavaScript'");
}
});
У цьому прикладі демонструється базове використання методу addEventListener() для відстеження натискання на кнопку. Коли користувач натискає на кнопку, в консоль виводиться повідомлення. Цей приклад є хорошим стартом для розуміння основ роботи з подіями у JavaScript.
HTML
<button id="myButton">Натисни</button>
JS
// Отримання посилання на елемент кнопки
const button = document.getElementById("myButton");
// Додавання обробника події натискання на кнопку
button.addEventListener("click", function() {
console.log("Кнопка була натиснута");
});
У цьому прикладі кнопка changeColorButton використовує addEventListener(), щоб встановити обробник події "click". При кожному натисканні на кнопку колір тексту в елементі textToChange змінюється з чорного на синій та навпаки. Це демонструє основний механізм взаємодії користувача з веб-сторінкою через JavaScript.
Коментарі
Коментарів ще немає — будьте першим!