Событие JavaScript Checkbox Checked: обработка изменений состояния флажка

В JavaScript существует несколько способов обработки события «флажок установлен». Вот несколько часто используемых методов:

  1. Использование события onchange:
    Вы можете прикрепить прослушиватель событий onchangeк элементу флажка, который будет срабатывать при каждом изменении состояния флажка. Затем вы можете проверить, установлен ли флажок, используя свойство checked.

    const checkbox = document.getElementById('myCheckbox');
    checkbox.onchange = function() {
     if (this.checked) {
       // Checkbox is checked
     } else {
       // Checkbox is not checked
     }
    };
  2. Использование события onclick.
    Другой подход — использовать событие onclickвместо onchange. Это событие возникает при каждом щелчке флажка, независимо от того, изменяется состояние или нет.

    const checkbox = document.getElementById('myCheckbox');
    checkbox.onclick = function() {
     if (this.checked) {
       // Checkbox is checked
     } else {
       // Checkbox is not checked
     }
    };
  3. Использование делегирования событий.
    Если у вас есть несколько флажков и вы хотите обработать событие для всех из них, вы можете использовать делегирование событий. При таком подходе вы прикрепляете один прослушиватель событий к общему родительскому элементу и проверяете цель события, чтобы определить, какой флажок был установлен.

    const parent = document.getElementById('checkboxContainer');
    parent.addEventListener('change', function(event) {
     if (event.target.matches('input[type="checkbox"]')) {
       if (event.target.checked) {
         // Checkbox is checked
       } else {
         // Checkbox is not checked
       }
     }
    });