Метод off
Метод off омогућава одвајање руковоца
догађаја од елемента. Да бисте прикачили руковоца
можете користити метод
off.
Синтакса
Овако уклањамо руковоца догађаја са елемента,
као први параметар у облику низа
прослеђује се један или више догађаја раздвојених
размацима, другим - прослеђујемо додатни
филтрирајући селектор потомака унутар елемента
(треба да се поклапа са оним што смо проследили у
у метод on, када смо прикачили
руковоца). Да бисте уклонили сва делегирана догађаја,
проследите вредност '**'. Други параметар
није обавезан. Трећим прослеђујемо функцију-руковоца
(коју смо прикачили), у коју се прослеђује објекат
догађаја или проследимо false:
$(селектор).off(догађаји, [селектор], функција-руковоца(објекат догађаја));
Можете користити метод off на други начин,
тада се у први параметар прослеђује
објекат JavaScript-а, где су кључеви - тип догађаја, а
вредности - функције-руковоце, које смо додали
елементу:
$(селектор).off({'тип догађаја': handler}, [селектор]);
Можемо једноставно проследити један параметар у облику
објекта jQuery.Event:
$(селектор).off(догађај);
Ако не проследите методу параметре, онда ћемо од елемента одвојити све прикачене руковоце:
$(селектор).off();
Пример
Хајде да додамо функцију-руковоца
testFunc на пасусе. Али одмах ћемо уклонити руковоца са
другог пасуса, тим начином клик на други пасус неће
довести ни до чега (ако закоментујемо последњи
ред кода, видећемо како се догађај окида и
при клику на други пасус):
<p id="test1">клик1</p>
<p id="test2">клик2</p>
function testFunc(event) {
alert(event.data.text);
}
$('#test1').on('click', {text: 'aaa'}, testFunc); // додајемо руковоца
$('#test2').on('click', {text: 'bbb'}, testFunc); // додајемо руковоца
$('#test2').off('click', testFunc); // уклањамо руковоца