Objekat event
Objekat event se generiše pri aktiviranju
događaja i sadrži informacije o njemu. Pri pojavi
događaja objekat event se prosleđuje u
funkciju-rukovalac.
Svojstva i metode objekta event
Ispod u tabeli su navedena svojstva i metode
objekta event i njihov opis:
| Naziv | Opis |
|---|---|
event.currentTarget |
Trenutni DOM element u fazi propagacije (bubble) događaja. Obično
je ovo svojstvo ekvivalentno this funkcije.
|
event.data |
Opcioni parametar. Objekat podataka, koji se prosleđuje metodu događaja pri priključivanju izvršnog rukovaoca. |
event.delegateTarget |
Element kojem je bio priključen upravo pozvani
jQuery rukovalac događaja. Ovo svojstvo je najkorisnije
u delegiranim događajima, kada je rukovalac vezan za
pretka elementa koji se obrađuje. Za nedeligirane
rukovaoce, vezane direktno za element,
vrednost event.delegateTarget odgovara
vrednosti event.currentTarget.
|
event.isDefaultPrevented |
Metoda proverava da li je bio pozvan metod
event.preventDefault
za ovaj objekat događaja.
|
event.isImmediatePropagationStopped |
Metoda proverava da li je bio pozvan metod
event.stopImmediatePropagation
za ovaj objekat događaja.
|
event.isPropagationStopped |
Metoda proverava da li je bio pozvan metod
event.stopPropagation
za ovaj objekat događaja.
|
event.isPropagationStopped |
Metoda proverava da li je bio pozvan metod
event.stopPropagation
za ovaj objekat događaja.
|
event.metaKey |
Metoda proverava da li je bila pritisnuta taster
META u trenutku aktiviranja
događaja. U zavisnosti od platforme taster
može da se razlikuje. Vraća true ili
false.
|
event.namespace |
Prostor imena, naveden u trenutku poziva događaja. Ovo svojstvo će se pokazati korisnim za autore dodataka, čiji zadaci zavise od korišćenog prostora imena. |
event.pageX |
Prikazuje poziciju miša u odnosu na levi ivicu dokumenta. |
event.pageY |
Prikazuje poziciju miša u odnosu na gornju ivicu dokumenta. |
event.preventDefault |
Ako je ovaj metod pozvan, onda se podrazumevana
radnja za dati događaj neće
izvršiti. Na primer pritisak na link
neće dovesti do prelaska na novi URL. Da
bi se proverilo da li je ovaj metod bio pozvan,
može se koristiti metod
event.isDefaultPrevented.
|
event.relatedTarget |
Vraća drugi DOM element koji učestvuje
u događaju, ako takav postoji. Za
mouseout pokazuje na koji
element je miš naveden, za mouseover
sa kog elementa je pokazivač miša bio odveden.
|
event.result |
Poslednja vrednost, koju je vratio rukovalac
aktiviranog događaja, nije jednaka
undefined. Svojstvo može biti korisno
za dobijanje vrednosti sopstvenih događaja.
|
event.stopImmediatePropagation |
Otkida rad svih preostalih rukovalaca
događaja, povezanih sa elementom i sprečava
propagaciju (bubble) događaja gore po DOM stablu. Da
bi se jednostavno zabranilo događaju da propagira do
elementa-predaka, ali dozvolio rad drugih
rukovalaca događaja, može se koristiti metod
event.stopPropagation. Koristite metod
event.isImmediatePropagationStopped, da
proverite da li je bio pozvan
event.stopImmediatePropagation za dati
objekat događaja.
|
event.stopPropagation |
Sprečava propagaciju (bubble) događaja gore po DOM
stabulu. Zapamtite da će drugi rukovaoci
nastaviti da rade za dati element. Ovaj
metod radi za sopstvene događaje, pozvane
pomoću metoda
trigger.
Da bi se proverilo da li je ovaj metod bio pozvan,
koristite event.isPropagationStopped.
|
event.target |
DOM element koji je inicirao događaj. To može
biti element registrovan za događaj ili
njegov potomak. Veoma je korisno upoređivati
event.target i this, za određivanje
propagacije (bubble) događaja. Svojstvo je korisno pri delegiranju
događaja, kada događaji propagiraju (bubble).
|
event.timeStamp |
Razlika u vremenu u milisekundama između
trenutaka kreiranja događaja pretraživačem i
1 januara 1970. godine. Svojstvo može biti
korisno pri određivanju performansi
događaja dobijanjem razlike vrednosti
event.timeStamp za dva trenutka
vremena u kodu. Ako jednostavno želite
da dobijete trenutno vreme unutar rukovaoca
događaja, koristite metod
getTime.
|
event.type |
U ovom svojstvu je naveden tip događaja. |
event.which |
Ovo svojstvo ukazuje koji taster
tastature ili miša je bio pritisnut. Za miš:
1 - levo dugme, 2 - točkić (scroll),
3 - desno dugme. Koristite
event.which umesto event.button.
|
Druga svojstva objekta event
Postoje i druga svojstva, koja se kopiraju
u objekat event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Da bi se pristupilo svojstvima, koja nisu navedena gore,
može se iskoristiti objekat event.originalEvent.
Primer
Hajde da ispisujemo u div - koji tasteri su bili pritisnuti:
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Primer
Hajde da ispisujemo u div - na koji tag ćemo kliknuti:
<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);
});
Vidi takođe
-
metod
on,
koji omogućava da se priključi rukovalac događaja za element -
metod
trigger,
koji omogućava da se pokrenu svi rukovaoci događaja, priključeni za element za događaje datog tipa -
metod
triggerHandler,
koji omogućava da se pokrenu svi rukovaoci događaja, priključeni za element - događaji jQuery