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га жеткенден кийин -
окуя иштеткичин байланыштыруудан бошотуп, баскыч басууга
мындан ары жооп бербесин.