Объекти 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 |
Фарқи вақт ба миллисония байни
лаҳзаҳои эҷоди ҳодиса тавассути браузер ва
1 Январи 1970 сол. Ин хусусият метавонад
барои муайян кардани самаранокии
ҳодиса тавассути гирифтани фарқи қиматҳои
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 истифода бурд.
Намуна
Биёед ба див чоп кунем - кадом тугмаҳо пахш карда шудаанд:
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Намуна
Биёед ба див чоп кунем - ба кадом тег мо клик хоҳем кард:
<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