off методу
off методу элементтен окуяларды иштетүүчүнү
ажыратууга мүмкүндүк берет. Иштетүүчүнү байлоо үчүн
off
методун колдонсо болот.
Синтаксис
Биз элементтен окуяларды иштетүүчүнү мындайча жок кылабыз,
биринчи параметр катары сап түрүндө бир же бир нече окуялар
боштук менен бөлүнүп берилет, экинчиси - элементтин ичиндеги
тукумдарды чыпкалоочу кошумча чыпкалоочу селектор (ал биз
on методун колдонуп, иштетүүчүнү байлаганда берген
селектор менен дал келиши керек). Бардык делегацияланган окуяларды
жок кылуу үчүн, '**' маанисин бериңиз. Экинчи параметр
милдети жок. Үчүнчүсү катары биз иштетүүчү функцияны (биз байлаган)
беребиз, ага окуя объектиси берилет же false беребиз:
$(селектор).off(окуялар, [селектор], иштетүүчү функция(окуя объектиси));
off методун башкача колдонсо болот,
анда биринчи параметр катары JavaScript объектиси берилет,
анын ачкычтары - окуянын түрү, ал эми
маанилери - биз элементке кошкон иштетүүчү функциялар:
$(селектор).off({'окуянын түрү': иштетүүчү}, [селектор]);
Биз жөн гана бир параметрди jQuery.Event
объектиси түрүндө бере алабыз:
$(селектор).off(окуя);
Эгерде методу параметрлер бербесек, анда биз элементтен бардык байланган иштетүүчүлөрдү ажыратабыз:
$(селектор).off();
Мисал
Келгиле, абзацтарга testFunc иштетүүчү функциясын
кошолу. Бирок дароо эле экинчи абзацтан иштетүүчүнү жок кылабыз,
ошондуктан экинчи абзацка чыкылдатуу эч нерсеге алып келбейт
(эгерде биз акыркы код сабын комментарийге алсак, анда окуянын
кантип иштеп, экинчи абзацка чыкылдатуу менен аткарыларын көрөбүз):
<p id="test1">чыкылдат1</p>
<p id="test2">чыкылдат2</p>
function testFunc(окуя) {
alert(окуя.data.text);
}
$('#test1').on('click', {text: 'aaa'}, testFunc); // иштетүүчүнү кошуу
$('#test2').on('click', {text: 'bbb'}, testFunc); // иштетүүчүнү кошуу
$('#test2').off('click', testFunc); // иштетүүчүнү жок кылуу