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); // հեռացնում ենք մշակող