Metoda one
Metoda one omogoča dodajanje obravnavalca
dogodkov k elementu. Ko se dogodek
sproži enkrat - bo obravnavalec
avtomatično odstranjen.
Sintaksa
Tako pritrdimo obravnavalca dogodkov k elementu,
kot prvi parameter v obliki niza
se posreduje en ali več dogodkov, ločenih s
presledki, drugi - posredujemo podatke v obliki objekta JavaScript,
ki se posredujejo obravnavalcu v lastnosti
event.data ob sprožitvi dogodka. Drugi parameter
je neobvezen. Tretjič posredujemo funkcijo-obravnavalko,
v katero se posreduje objekt dogodka ali posredujemo false:
$(selektor).one(dogodki, [podatki], funkcija-obravnavalka(objekt dogodka));
Kot drugi parameter lahko posredujemo dodatni
filtrirajoči selektor potomcev znotraj elementa,
tretjič - dodatne podatke, ki se posredujejo
obravnavalcu v lastnosti event.data ob
sprožitvi dogodka. Drugi in tretji parameter
sta neobvezna. Četrtič posredujemo
funkcijo-obravnavalko, v katero se posreduje objekt dogodka
in neobvezni dodatni parametri. Če namesto
funkcije-obravnavalke posredujemo false, potem funkcija preprosto
vrne false:
$(selektor).one(dogodki, [selektor], [podatki], funkcija-obravnavalka(objekt dogodka));
Lahko uporabimo metodo one drugače,
potem se v prvi parameter posreduje
objekt JavaScript, kjer so ključi - tip dogodka, in
vrednosti - funkcija-obravnavalka, ki smo jo dodali k
elementu:
$(selektor).one({'tip dogodka': handler}, [selektor], [podatki]);
Če ne posredujemo dodatnega selektorja, potem se dogodek sproži na elementu, na katerega pritrdimo obravnavalca, v nasprotnem primeru - na elementu-potomcu, ki ustreza temu selektorju (delegirani dogodki).
Primer
Kliknimo na odstavek in izpišimo podatke, ki
smo jih posredovali v metodo one. Ob naslednjih klikih
se ne bo nič zgodilo. Uporabimo
funkcijo-obravnavalko testFunc,
ki smo jo ustvarili:
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);