В данном уроке мы с вами научимся отвязывать обработчики события, которые ранее были привязаны нами к элементам. Пусть для примера дана следующая кнопка:
<input id="button" type="submit">
Привяжем к этой кнопке функцию func
:
let button = document.querySelector('#button');
button.addEventListener('click', func);
function func() {
alert('!!!');
}
Давайте теперь сделаем так, чтобы обработчик
события срабатывал на первый клик, а потом
отвязывался от кнопки. Для этого существует
специальный метод removeEventListener
.
Этот метод первым параметром принимает тип
события, а вторым - ссылку на функцию, которую
нужно отвязать.
Как правило, это значит, что обработчик события
отвязывается так же, как и привязывался.
То есть, если мы привязали его вот так: addEventListener('click',
func)
, то и отвяжем с теми же параметрами,
вот так: removeEventListener('click',
func)
.
Итак, решим поставленную нами задачу:
let button = document.querySelector('#button');
button.addEventListener('click', func);
function func() {
alert('!!!');
this.removeEventListener('click', func);
}
Дана ссылка. По нажатию на эту ссылку добавьте
в конец ее текста содержимое ее атрибута
href
в круглых скобках. Сделайте так,
чтобы это добавление происходило лишь по
первому нажатию.
Дана кнопка, значением которой служит число
1
. Сделайте так, чтобы по клику на
эту кнопку ее значение каждый раз увеличивалось
на единицу. После того, как значение кнопки
достигнет 10
- отвяжите обработчик
события, чтобы кнопка больше не реагировала
на нажатие.