JS властивість Event.change


Загальний опис

change — це подія в HTML, яка спрацьовує, коли значення елемента форми змінюється і елемент втрачає фокус. Вона найчастіше використовується з полями введення, випадаючими списками, перемикачами та прапорцями, де користувач може вносити зміни, і ці зміни потребують обробки, наприклад, для оновлення інших частин інтерфейсу або відправки даних на сервер.

Подія change не спрацьовує безпосередньо при кожному натисканні клавіші або зміні значення. Вона спрацьовує тільки тоді, коли користувач завершив введення, і елемент втратив фокус, або у випадку з випадаючими списками і прапорцями, коли значення змінюється. Це робить подію корисною для обробки змін після того, як користувач завершив редагування, на відміну від події input, яка спрацьовує миттєво при зміні значення.

Приклад використання події change може виглядати так:

const inputElement = document.querySelector('input');

inputElement.addEventListener('change', function(event) {
  console.log('Значення змінено на:', event.target.value);
});

У цьому прикладі подія change додається до поля введення input. Коли користувач змінює значення і виходить з поля, подія спрацьовує, і в консоль виводиться нове значення. Це особливо корисно для валідації форм або для оновлення інших елементів сторінки на основі змін, внесених користувачем.

Подія change також може бути використана з іншими елементами форми, такими як прапорці (checkbox), перемикачі (radio) і випадаючі списки (select). Наприклад, у випадку з випадаючим списком подія change спрацьовує при кожному виборі нового варіанту:

const selectElement = document.querySelector('select');

selectElement.addEventListener('change', function(event) {
  console.log('Обрано варіант:', event.target.value);
});

Тут подія change використовується для відстеження зміни вибору користувача в випадаючому списку. Це дозволяє динамічно оновлювати вміст сторінки або виконувати інші дії залежно від вибраного варіанту.

автор: Bond

Порада

Пам'ятайте, що подія change не спрацьовує миттєво під час зміни значення поля, тому для миттєвого відстеження змін краще використовувати подію input. Використовуйте change, коли вам потрібно знати лише остаточний вибір користувача.

автор: Bond
Порада

Для прапорців і перемикачів корисно перевіряти стан (позначений чи ні) в обробнику події change, оскільки це дозволить виконати дії, наприклад, показати або приховати додаткові поля форми в залежності від вибору користувача.

автор: Bond
Порада

Якщо у вас є взаємопов’язані поля форми, ви можете використовувати change, щоб динамічно змінювати доступні опції в другому полі залежно від вибору в першому. Наприклад, змінювати список міст в залежності від вибраної країни.

автор: Bond

Синтаксис

element.addEventListener('change', function(event) {
  // Код обробника події
});

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
66 57 11.1 53 16
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
66 66 57 11.3
Підтримка: серверні переглядачі
Переглядач Node.js Deno
15.0.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі подія change використовується з прапорцем (checkbox). Коли користувач позначає прапорець "Показати деталі", показується додатковий блок з деталями. Це дозволяє створювати більш інтерактивні форми.

HTML

<div id="showDetails">Демонстраційний елемент</div>
<div id="detailsSection">Демонстраційний елемент</div>

JS

const checkbox = document.getElementById('showDetails');
const detailsSection = document.getElementById('detailsSection');

checkbox.addEventListener('change', function() {
  if (checkbox.checked) {
    detailsSection.style.display = 'block';
  } else {
    detailsSection.style.display = 'none';
  }
});
автор: Bond

Цей приклад демонструє, як подія change може використовуватися для автоматичного оновлення тексту в елементі div на сторінці, коли користувач вводить нове значення в текстове поле та виходить з нього. Це може бути корисним для динамічного оновлення частин сторінки на основі введення користувача.

HTML

<input type="text" id="inputField" value="текст для прикладу" placeholder="Введи щось">
<div id="displayText">Демонстраційний елемент</div>

JS

const inputField = document.getElementById('inputField');
const displayText = document.getElementById('displayText');

inputField.addEventListener('change', function() {
  displayText.textContent = inputField.value;
});
автор: Bond

У цьому прикладі ми використовуємо подію change, щоб змінювати доступні варіанти вибору в другому випадаючому списку на основі вибраної країни в першому списку. Коли користувач вибирає країну, подія change спрацьовує і динамічно оновлює список міст, які доступні для вибору. Якщо країна не вибрана, випадаючий список міст деактивується, що забезпечує більш інтерактивний і зручний користувацький досвід.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід