on մեթոդը
on մեթոդը թույլ է տալիս ավելացնել իրադարձությունների մշակող
տարրին: Մշակողը հեռացնելու համար
կարող եք օգտագործել off մեթոդը,
որպեսզի իրադարձությունը գործարկվի միայն մեկ անգամ, ապա
մշակողն ինքն իրեն հեռացնի - օգտագործեք one մեթոդը:
Այն տարրերը, որոնց մենք կցում ենք մշակողը, պետք է
գոյություն ունենան on-ի կանչի պահին:
Շարահյուսություն
Այսպես մենք ավելացնում ենք իրադարձությունների մշակող տարրին,
որպես առաջին պարամետր տողի տեսքով փոխանցվում է
մեկ կամ մի քանի իրադարձություն՝ բացատներով բաժանված, երկրորդ
պարամետրով փոխանցում ենք լրացուցիչ ֆիլտրող
ընտրիչ՝ տարրի ներսում գտնվող ժառանգների համար, երրորդը - լրացուցիչ
տվյալներ, որոնք փոխանցվում են մշակողին event.data
հատկության մեջ իրադարձության գործարկման պահին: Երկրորդ և երրորդ պարամետրերը
ոչ պարտադիր են: Չորրորդով փոխանցում ենք մշակող ֆունկցիան,
որին փոխանցվում է իրադարձության օբյեկտը և ոչ պարտադիր
լրացուցիչ պարամետրեր: Եթե մշակող ֆունկցիայի փոխարեն
փոխանցվի false, ապա ֆունկցիան պարզապես կվերադարձնի false:
$(ընտրիչ).on(իրադարձություններ, [ընտրիչ], [տվյալներ], մշակող-ֆունկցիա(իրադարձության օբյեկտ, [լրացուցիչ պարամետրեր]));
Կարող եք օգտագործել on մեթոդը այլ կերպ,
այդ դեպքում առաջին պարամետրով փոխանցվում է
JavaScript օբյեկտ, որտեղ բանալիները - իրադարձության տեսակն են, իսկ
արժեքները - այդ իրադարձությունների համար կանչվող մշակող ֆունկցիաններն են:
$(ընտրիչ).on({'իրադարձության տեսակ': handler}, [ընտրիչ], [տվյալներ]);
Եթե մենք չենք փոխանցում լրացուցիչ ընտրիչ, ապա իրադարձությունը գործարկվում է այն տարրի վրա, որին մենք կցել ենք մշակողը, հակառակ դեպքում - այն ժառանգ տարրի վրա, որը համապատասխանում է այդ ընտրիչին (անուղղակի իրադարձություններ): Նույն մշակողը կարող է մի քանի անգամ կցված լինել տարրին:
Օրինակ
Եկեք alert-ի մեջ
ցուցադրենք #test նույնականացուցիչով պարբերության տեքստը
դրա վրա կտտացնելիս, այլ պարբերությունների վրա կտտոցները ոչինչ
չեն առաջացնի:
<p>տեքստ1</p>
<p id="test">տեքստ2</p>
<p>տեքստ3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Օրինակ
Եկեք պարբերության վրա կտտացնելիս ցուցադրենք այն տվյալները, որոնք
մենք փոխանցել ենք on մեթոդին: Օգտագործենք
testFunc մշակող ֆունկցիան,
որը մենք ստեղծել ենք:
<p>կտտացրեք</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Տես նաև
-
offմեթոդը,
որը թույլ է տալիս հեռացնել տարրի իրադարձությունների մշակողը -
oneմեթոդը,
որը թույլ է տալիս, որ իրադարձությունը գործարկվի մեկ անգամ, ապա ավտոմատ հեռացնում է մշակողը -
eventօբյեկտը,
որը պարունակում է տեղեկատվություն իրադարձության մասին -
triggerմեթոդը,
որը թույլ է տալիս գործարկել տարրին կցված բոլոր մշակողները տվյալ տեսակի իրադարձությունների համար -
JavaScript-ի
bindմեթոդը,
որը թույլ է տալիս ֆունկցիային կցել կոնտեքստ