Įvykių atjungimas JavaScript
Šioje pamokoje išmoksime atjungti įvykių tvarkytuvus, kurie anksčiau buvo prijungti prie elementų. Tarkime, pavyzdžiui, duotas toks mygtukas:
<input id="button" type="submit">
Prijungkime prie šio mygtuko funkciją func:
let button = document.querySelector('#button');
button.addEventListener('click', func);
function func() {
console.log('!!!');
}
Dabar padarykime taip, kad įvykio tvarkytuvas
veiktų pirmuoju paspaudimu, o vėliau
atsijungtų nuo mygtuko. Tam yra specialus
metodas removeEventListener.
Šis metodas pirmu parametru priima įvykio
tipą, o antruoju - nuorodą į funkciją, kurią
reikia atjungti.
Paprastai tai reiškia, kad įvykio tvarkytuvas
atjungiamas taip pat, kaip ir buvo prijungtas.
Tai yra, jei mes jį prijungėme taip: addEventListener('click',
func), tai ir atjungsime tais pačiais parametrais,
taip: removeEventListener('click',
func).
Taigi, išspręskime užduotį, kurią sau uždėjome:
let button = document.querySelector('#button');
button.addEventListener('click', func);
function func() {
console.log('!!!');
this.removeEventListener('click', func);
}
Duota nuoroda ir mygtukas. Paspaudus mygtuką, pridėkite
į nuorodos teksto pabaigą jos atributo
href turinį round skliausteliuose. Padarykite taip,
kad šis pridėjimas vyktų tik
pirmuoju paspaudimu.
Duotas mygtukas, kurio reikšmė yra skaičius
1. Padarykite taip, kad paspaudus
šį mygtuką, jo reikšmė kaskart didėtų
vienetu. Po to, kai mygtuko reikšmė
pasieks 10 - atjunkite įvykio tvarkytuvą,
kad mygtukas daugiau nereaguotų
į paspaudimą.