მოვლენების გამოწერის გაუქმება 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-ს - გაწყვიტეთ მოვლენის გამშვები,
რათა ღილაკმა აღარ რეაგიროს
დაჭერაზე.