Event օբյեկտ
event օբյեկտը ստեղծվում է իրադարձության տեղի ունենալու ժամանակ
և պարունակում է դրա մասին տեղեկատվություն: Երբ իրադարձություն է տեղի ունենում,
event օբյեկտը փոխանցվում է մշակող ֆունկցիային:
Event օբյեկտի հատկություններն ու մեթոդները
Ստորև բերված աղյուսակում նշված են event օբյեկտի հատկություններն ու մեթոդները
և դրանց նկարագրությունը:
| Անվանում | Նկարագրություն |
|---|---|
event.currentTarget |
Ընթացիկ DOM տարրը իրադարձության բարձրացման փուլում: Սովորաբար
այս հատկությունը համարժեք է ֆունկցիայի this-ին:
|
event.data |
Ոչ պարտադիր պարամետր: Տվյալների օբյեկտ, որը փոխանցվում է իրադարձության մեթոդին մշակողը կցելու ժամանակ: |
event.delegateTarget |
Տարրը, որին կցված էր հենց նոր կանչված jQuery իրադարձության մշակողը:
Այս հատկությունն առավել օգտակար է պատվիրային իրադարձություններում,
երբ մշակողը կցված է մշակվող տարրի նախնուն: Ոչ պատվիրային
մշակողների համար, որոնք ուղղակիորեն կցված են տարրին,
event.delegateTarget արժեքը համապատասխանում է
event.currentTarget արժեքին:
|
event.isDefaultPrevented |
Մեթոդը ստուգում է, արդյոք կանչվել է event.preventDefault
մեթոդը այս իրադարձության օբյեկտի համար:
|
event.isImmediatePropagationStopped |
Մեթոդը ստուգում է, արդյոք կանչվել է event.stopImmediatePropagation
մեթոդը այս իրադարձության օբյեկտի համար:
|
event.isPropagationStopped |
Մեթոդը ստուգում է, արդյոք կանչվել է event.stopPropagation
մեթոդը այս իրադարձության օբյեկտի համար:
|
event.isPropagationStopped |
Մեթոդը ստուգում է, արդյոք կանչվել է event.stopPropagation
մեթոդը այս իրադարձության օբյեկտի համար:
|
event.metaKey |
Մեթոդը ստուգում է, արդյոք սեղմված էր META ստեղնը
իրադարձության տեղի ունենալու պահին: Կախված պլատֆորմից՝ ստեղնը
կարող է տարբեր լինել: Վերադարձնում է true կամ
false:
|
event.namespace |
Տարածության անուն, որը նշված էր իրադարձության կանչման պահին: Այս հատկությունը օգտակար կլինի պլագինների հեղինակների համար, որոնց խնդիրները կախված են օգտագործվող տարածության անունից: |
event.pageX |
Ցույց է տալիս մկնիկի դիրքը փաստաթղթի ձախ եզրի նկատմամբ: |
event.pageY |
Ցույց է տալիս մկնիկի դիրքը փաստաթղթի վերին եզրի նկատմամբ: |
event.preventDefault |
Եթե այս մեթոդը կանչված է, ապա այս իրադարձության
լռելյայն գործողությունը չի կատարվի: Օրինակ՝ հղման վրա կտտացնելը
չի հանգեցնի նոր URL-ին անցնելուն: Որպեսզի
ստուգեք, արդյոք այս մեթոդը կանչվել է, կարող եք օգտագործել
event.isDefaultPrevented մեթոդը:
|
event.relatedTarget |
Վերադարձնում է մեկ այլ DOM տարր, որը մասնակցում է
իրադարձությանը, եթե այդպիսին կա:
mouseout-ի դեպքում ցույց է տալիս, թե որ
տարրի վրա է դրված մկնիկի 커서ը, mouseover-ի
դեպքում՝ որ տարրից է մկնիկի 커սորը հանվել:
|
event.result |
Վերջին արժեքը, որը վերադարձրել է տեղի ունեցած իրադարձության մշակողը,
որը հավասար չէ undefined-ի: Հատկությունը կարող է օգտակար լինել
սեփական իրադարձությունների արժեքները ստանալու համար:
|
event.stopImmediatePropagation |
Չեղարկում է տարրի հետ կապված իրադարձությունների մնացած բոլոր մշակողների
աշխատանքը և կանխում է իրադարձության բարձրացումը դեպի վեր DOM ծառով:
Որպեսզի պարզապես արգելաք իրադարձությանը բարձրանալ դեպի
նախնիների տարրերը, բայց թույլատրել այլ իրադարձությունների մշակողների աշխատանքը,
կարող եք օգտագործել event.stopPropagation մեթոդը:
Օգտագործեք event.isImmediatePropagationStopped մեթոդը,
որպեսզի ստուգեք, արդյոք կանչվել է
event.stopImmediatePropagation այս
իրադարձության օբյեկտի համար:
|
event.stopPropagation |
Կանխում է իրադարձության բարձրացումը դեպի վեր DOM ծառով:
Հիշեք, որ այլ մշակողներ
կշարունակեն աշխատել այս տարրի համար: Այս
մեթոդը աշխատում է սեփական իրադարձությունների համար, որոնք կանչվել են
trigger մեթոդի միջոցով:
Որպեսզի ստուգեք, արդյոք այս մեթոդը կանչվել է,
օգտագործեք event.isPropagationStopped:
|
event.target |
DOM տարրը, որը սկսել է իրադարձությունը: Դա կարող է լինել
իրադարձության համար գրանցված տարրը կամ դրա սերունդը:
Շատ օգտակար է համեմատել
event.target-ը և this-ը, իրադարձության
բարձրացումը որոշելու համար: Հատկությունը օգտակար է իրադարձությունը
պատվիրելու դեպքում, երբ իրադարձությունները բարձրանում են:
|
event.timeStamp |
Ժամանակի տարբերությունը միլիվայրկյաններով իրադարձության
ստեղծման պահի և 1970 թվականի Հունվարի 1-ի միջև:
Հատկությունը կարող է լինել
օգտակար իրադարձության արտադրողականությունը որոշելու համար
event.timeStamp արժեքների տարբերությունը ստանալով
կոդում երկու ժամանակային պահերի համար: Եթե դուք պարզապես ցանկանում եք
ստանալ ընթացիկ ժամանակը իրադարձության մշակողի ներսում, օգտագործեք
getTime մեթոդը:
|
event.type |
Այս հատկությունում նշված է իրադարձության տեսակը: |
event.which |
Այս հատկությունը ցույց է տալիս, թե ստեղնաշարի կամ մկնիկի որ ստեղնն է սեղմվել:
Մկնիկի համար՝
1 - ձախ ստեղն, 2 - անիվ,
3 - աջ ստեղն: Օգտագործեք
event.which event.button-ի փոխարեն:
|
Event օբյեկտի այլ հատկություններ
Կան նաև այլ հատկություններ, որոնք պատճենվում են
event օբյեկտում:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view:
Վերևում չթվարկված հատկություններին մուտք գործելու համար
կարող եք օգտագործել event.originalEvent օբյեկտը:
Օրինակ
Եկեք արտածենք div-ում՝ ինչ ստեղներ են սեղմվել.
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Օրինակ
Եկեք արտածենք div-ում՝ որ թեգի վրա ենք կտտացնելու.
<body>
<div id="text"></div>
<div>
<p>
<strong><span>click</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('clicked: ' + event.target.nodeName);
});
Տես նաև
-
onմեթոդը,
որը թույլ է տալիս իրադարձության մշակողը կցել տարրին -
triggerմեթոդը,
որը թույլ է տալիս գործարկել իրադարձությունների բոլոր մշակողները, որոնք կցված են տարրին տվյալ տեսակի իրադարձությունների համար -
triggerHandlerմեթոդը,
որը թույլ է տալիս գործարկել իրադարձությունների բոլոր մշակողները, որոնք կցված են տարրին - jQuery իրադարձությունները