# Отвязывание событий в JavaScript

В данном уроке мы с вами научимся отвязывать обработчики события, которые ранее были привязаны нами к элементам. Пусть для примера дана следующая кнопка:

`<input id="button" type="submit">`

Привяжем к этой кнопке функцию `func`:

`let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); }`

Давайте теперь сделаем так, чтобы обработчик события срабатывал на первый клик, а потом отвязывался от кнопки. Для этого существует специальный метод `removeEventListener`. Этот метод первым параметром принимает тип события, а вторым - ссылку на функцию, которую нужно отвязать.

Как правило, это значит, что обработчик события отвязывается так же, как и привязывался. То есть, если мы привязали его вот так: `addEventListener('click', func)`, то и отвяжем с теми же параметрами, вот так: `removeEventListener('click', func)`.

Итак, решим поставленную нами задачу:

`let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); this.removeEventListener('click', func); }`

Дана ссылка и кпнока. По нажатию на кнопку добавьте в конец текста ссылки содержимое ее атрибута `href` в круглых скобках. Сделайте так, чтобы это добавление происходило лишь по первому нажатию.

Дана кнопка, значением которой служит число `1`. Сделайте так, чтобы по клику на эту кнопку ее значение каждый раз увеличивалось на единицу. После того, как значение кнопки достигнет `10` - отвяжите обработчик события, чтобы кнопка больше не реагировала на нажатие.

←→
↑
en ru