Metoda on
Metoda on omogoča dodajanje obravnavalca
dogodkov elementu. Za odstranitev obravnavalca
lahko uporabite metodo
off,
da se dogodek sproži samo enkrat, nato pa
se obravnavalec samodejno odstrani - uporabite metodo
one.
Elementi, na katere vežemo obravnavalec, morajo
obstajati v času klica on.
Sintaksa
Tako dodamo obravnavalca dogodkov elementu,
kot prvi parameter v obliki niza se posreduje
en ali več dogodkov, ločenih s presledki, drugim
parametrom posredujemo dodaten filtrijoč
selektor potomcev znotraj elementa, tretjim - dodatne
podatke, ki se posredujejo obravnavalcu v lastnosti
event.data
ob sprožitvi dogodka. Drugi in tretji parameter
sta neobvezna. Četrti parameter je funkcija-obravnavalec,
ki ji se posreduje objekt dogodka in neobvezni
dodatni parametri. Če namesto funkcije-obravnavalca
posredujemo false, bo funkcija preprosto vrnila false:
$(selektor).on(dogodki, [selektor], [podatki], funkcija-obravnavalec(objekt dogodka, [dodatni parametri]));
Lahko uporabimo metodo on drugače,
potem se v prvi parameter posreduje
objekt JavaScript, kjer so ključi - tip dogodka, in
vrednosti - funkcije-obravnavalci, ki jih kličemo
za dogodke:
$(selektor).on({'tip dogodka': handler}, [selektor], [podatki]);
Če ne posredujemo dodatnega selektorja, se dogodek sproži na elementu, na katerega pripnemo obravnavalca, sicer - na elementu-potomcu, ki ustreza temu selektorju (delegirani dogodki). Enak obravnavalec dogodka je lahko vezan na element večkrat.
Primer
Pokažimo v alert,
besedilo odstavka z #test ob
kliku nanj, kliki na druge odstavke ne bodo
povzročili ničesar:
<p>text1</p>
<p id="test">text2</p>
<p>text3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Primer
Ob kliku na odstavek prikažimo podatke, ki
smo jih posredovali metodi on. Uporabimo
funkcijo-obravnavalec testFunc,
ki smo jo ustvarili:
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Glej tudi
-
metoda
off,
ki omogoča odstranitev obravnavalca dogodkov elementa -
metoda
one,
ki omogoča, da se dogodek sproži enkrat, nato pa samodejno odstrani obravnavalca -
objekt
event,
ki vsebuje informacije o dogodku -
metoda
trigger,
ki omogoča zagon vseh obravnavalcev dogodkov, vezanih na element za dogodke določenega tipa -
JavaScript metoda
bind,
ki omogoča vezavo konteksta na funkcijo