off әдісі
off әдісі элементтен оқиға өндеушті
босатуға мүмкіндік береді. Өндеушті байлау үшін
off
әдісін қолдануға болады.
Синтаксис
Біз элементтен оқиға өндеушті жоямыз,
бірінші параметр ретінде жол түрінде
бір немесе бірнеше оқиға бос орындармен бөлініп
беріледі, екіншісі - элемент ішіндегі ішкі элементтерді
сүзгілейтін қосымша селекторды береміз
(ол біз on әдісіне берген селектормен
сәйкес келуі керек). Барлық делегацияланған оқиғаларды жою үшін,
'**' мәнін беріңіз. Екінші параметр
міндетті емес. Үшіншісі ретінде біз функция-өндеушті береміз
(біз байлаған), оған оқиға нысаны беріледі немесе
false береміз:
$(селектор).off(оқиғалар, [селектор], функция-өндеуші(оқиға нысаны));
off әдісін басқаша қолдануға болады,
онда бірінші параметр ретінде
JavaScript нысаны беріледі, онда кілттер - оқиға түрі, ал
мәндері - элементке біз қосқан функция-өндеуштер:
$(селектор).off({'оқиға түрі': handler}, [селектор]);
Біз жай ғана бір параметрді
jQuery.Event нысаны түрінде бере аламыз:
$(селектор).off(оқиға);
Егер әдіске параметрлер бермесек, онда біз элементтен барлық байланған өндеуштерді босатамыз:
$(селектор).off();
Мысал
Абзацтарға testFunc функция-өндеушін
қосамыз. Бірақ бірден екінші абзацтан өндеушті жоямыз,
осылайша екінші абзацты басу еш нәрсеге
әкелмейді (егер біз соңғы код жолын түсініктемеге алсақ,
онда оқиғаның екінші абзацты басқанда қалай
іске қосылатынын көреміз):
<p id="test1">click1</p>
<p id="test2">click2</p>
function testFunc(event) {
alert(event.data.text);
}
$('#test1').on('click', {text: 'aaa'}, testFunc); // өндеушті қосамыз
$('#test2').on('click', {text: 'bbb'}, testFunc); // өндеушті қосамыз
$('#test2').off('click', testFunc); // өндеушті жоямыз