მოვლენების გამოწერის გაუქმება JavaScript-ში

ამ გაკვეთილში ჩვენ ვისწავლით მოვლენების გამშვებების გამოწერის გაუქმებას, რომლებიც ადრე იყვნენ მიბმული ჩვენს მიერ ელემენტებზე. მაგალითისთვის მოცემულია შემდეგი ღილაკი:

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

მივაბათ ამ ღილაკს ფუნქცია func:

javascriptlet button = document.querySelector('#button');
button.addEventListener('click', func);

function func() {
  console.log('!!!');
}

ახლა კი გავაკეთოთ ისე, რომ მოვლენის გამშვებმა იმუშაოს პირველ კლიკზე, ხოლო შემდეგ გაწყდეს ღილაკთან კავშირი. ამისთვის არსებობს სპეციალური მეთოდი removeEventListener. ეს მეთოდი პირველ პარამეტრად იღებს მოვლენის ტიპს, ხოლო მეორედ - ფუნქციის მისამართს, რომელიც უნდა გაწყდეს.

როგორც წესი, ეს ნიშნავს, რომ მოვლენის გამშვები იწყდება ისე, როგორც იყო მიბმული. ანუ, თუ ჩვენ მივბანეთ ის ასე: addEventListener('click', func), მაშინ გავწყვეტთ იგივე პარამეტრებით, ასე: removeEventListener('click', func).

აბა, მოვაგვაროთ ჩვენს მიერ დასმული ამოცანა:

javascriptlet button = document.querySelector('#button');
button.addEventListener('click', func);

function func() {
  console.log('!!!');
  this.removeEventListener('click', func);
}
Задание 1

მოცემულია ბმული და ღილაკი. ღილაკზე დაჭერით დაამატეთ ბმულის ტექსტის ბოლოს მისი ატრიბუტის href შიგთავსი მრგვალ ფრჩხილებში. გააკეთეთ ისე, რომ ეს დამატება მოხდეს მხოლოდ პირველ დაჭერაზე.

Задание 2

მოცემულია ღილაკი, რომლის მნიშვნელობაცაა რიცხვი 1. გააკეთეთ ისე, რომ ამ ღილაკზე დაჭერისას მისი მნიშვნელობა ყოველ ჯერზე გაიზარდოს ერთეულით. მას შემდეგ, რაც ღილაკის მნიშვნელობა მიაღწევს 10-ს - გაწყვიტეთ მოვლენის გამშვები, რათა ღილაკმა აღარ რეაგიროს დაჭერაზე.