Metodas on
Metodas on leidžia pridėti įvykių
apdorojimo funkciją prie elemento. Norint pašalinti apdorojimo funkciją
galima naudotis metodu
off,
kad įvykis suveiktų tik vieną kartą, o tada
apdorojimo funkcija pašalintų save pati - naudokitės metodu
one.
Elementai, prie kurių mes pririšame apdorojimo funkciją, turi
egzistuoti metu, kai iškviečiamas on.
Sintaksė
Taip mes pridedame įvykių apdorojimo funkciją prie elemento,
kaip pirmas parametras eilutės pavidalu perduodamas
vienas ar keli įvykiai, atskirti tarpais, antruoju
parametru perduodame papildomą filtruojantį
selektorių palikuonių elemento viduje, trečiu - papildomus
duomenis, kurie perduodami į apdorojimo funkciją savybėje
event.data
įvykio suveikimo metu. Antras ir trečias parametrai
yra neprivalomi. Ketvirtuoju perduodame funkciją-apdorojimo funkciją,
į kurią perduodamas įvykio objektas ir neprivalomi
papildomi parametrai. Jei vietoj funkcijos-apdorojimo funkcijos
perduosime false, tai funkcija tiesiog grąžins false:
$(selektorius).on(įvykiai, [selektorius], [duomenys], funkcija-apdorojimo funkcija(įvykio objektas, [papildomi parametrai]));
Galima naudotis metodu on kitaip,
tada į pirmą parametrą perduodamas
JavaScript objektas, kur raktai - įvykio tipas, o
reikšmės - funkcijos-apdorojimo funkcijos, iškviečiamos
įvykiams:
$(selektorius).on({'įvykio tipas': handler}, [selektorius], [duomenys]);
Jei mes neperduodame papildomo selektoriaus, tai įvykis suveikia ant elemento, prie kurio mes pririšame apdorojimo funkciją, priešingu atveju - ant elemento-palikuonio, kuris atitinka šį selektorių (deleguoti įvykiai). Ta pati įvykio apdorojimo funkcija gali būti pririšta prie elemento kelis kartus.
Pavyzdys
Parodykime alert lange
abrazo su #test tekstą
paspaudus ant jo, paspaudimai ant kitų abrazų nieko
nesukels:
<p>text1</p>
<p id="test">text2</p>
<p>text3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Pavyzdys
Paspaudus ant abrazo parodykime duomenis, kuriuos
mes perdavėme į metodą on. Panaudokime
funkciją-apdorojimo funkciją testFunc,
kurią mes sukūrėme:
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Žiūrėkite taip pat
-
metodas
off,
kuris leidžia pašalinti įvykių apdorojimo funkciją prie elemento -
metodas
one,
kuris leidžia įvykiui suveikti vieną kartą, o tada automatiškai pašalinti apdorojimo funkciją -
objektas
event,
kuris contain information about the event -
metodas
trigger,
kuris leidžia paleisti visas įvykių apdorojimo funkcijas, pririštas prie elemento nurodyto tipo įvykiams -
JavaScript metodas
bind,
kuris leidžia pririšti kontekstą prie funkcijos