Off metodi
off metodi elementga bog'langan hodisa
qayta ishlovchisini olib tashlash imkonini beradi. Qayta ishlovchini bog'lash uchun
off metodidan foydalanish mumkin.
Sintaksis
Biz elementdan hodisa qayta ishlovchisini shunday olib tashlaymiz,
birinchi parametr sifatida satr shaklida
bitta yoki bir nechta bo'shlik bilan ajratilgan hodisalar beriladi,
ikkinchisi - element ichidagi avlodlar uchun qo'shimcha
filtrlovchi selektorni beramiz
(u on metodiga bog'laganimizda berganimizga
mos kelishi kerak). Barcha delegatsiya qilingan hodisalarni olib tashlash uchun,
'**' qiymatini bering. Ikkinchi parametr
ixtiyoriy. Uchinchisi biz hodisa obyekti berilgan yoki false berilgan
qayta ishlovchi funksiyani (biz bog'lagan) beramiz:
$(selektor).off(hodisalar, [selektor], qayta ishlovchi funksiya(hodisa obyekti));
off metodidan boshqacha foydalanish mumkin,
unda birinchi parametrga kalitlar - hodisa turi, va
qiymatlar - elementga qo'shgan qayta ishlovchi funksiyalar bo'lgan
JavaScript obyekti beriladi:
$(selektor).off({'hodisa turi': handler}, [selektor]);
Biz shunchaki jQuery.Event obyekti shaklida
bitta parametr berishimiz mumkin:
$(selektor).off(hodisa);
Agar metodga parametrlar berilmasa, unda biz elementdan barcha bog'langan qayta ishlovchilarni olib tashlaymiz:
$(selektor).off();
Misol
Keling, abzatslarga testFunc qayta ishlovchi funksiyasini
qo'shamiz. Lekin darhol ikkinchi abzatsdan qayta ishlovchini olib tashlaymiz,
shu bilan ikkinchi abzatsga bosish hech narsaga olib kelmaydi
(agar kodning oxirgi qatorini kommentga o'rab qo'ysak, hodisa qanday ishlashini
va ikkinchi abzatsga bosilganda ishlashini ko'ramiz):
<p id="test1">click1</p>
<p id="test2">click2</p>
function testFunc(event) {
alert(event.data.text);
}
$('#test1').on('click', {text: 'aaa'}, testFunc); // qayta ishlovchini qo'shamiz
$('#test2').on('click', {text: 'bbb'}, testFunc); // qayta ishlovchini qo'shamiz
$('#test2').off('click', testFunc); // qayta ishlovchini olib tashlaymiz