Metode on
Metode on ļauj pievienot notikumu
apstrādes funkciju elementam. Lai noņemtu apstrādes funkciju
var izmantot metodi
off,
lai notikums iedarbotos tikai vienu reizi un pēc tam
apstrādes funkcija pati sevi noņemtu - izmantojiet metodi
one.
Elementiem, kuriem mēs piesaistām apstrādes funkciju, jābūt
esošiem on izsaukšanas laikā.
Sintakse
Tā mēs pievienojam notikumu apstrādes funkciju elementam,
kā pirmais parametrs virknes veidā tiek padots
viens vai vairāki notikumi, atdalīti ar atstarpēm, otro
parametru mēs padodam papildu filtrēšanas
selektoru pēcteču elementa iekšienē, trešo - papildu
datus, kas tiek nodoti apstrādes funkcijā īpašībā
event.data
notikuma iedarbināšanas brīdī. Otrais un trešais parametrs
nav obligāti. Ceturtā mēs padodam apstrādes funkciju,
kurai tiek nodots notikuma objekts un neobligātie
papildu parametri. Ja apstrādes funkcijas vietā
tiek padots false, tad funkcija vienkārši atgriezīs false:
$(selektors).on(notikumi, [selektors], [dati], apstrādes-funkcija(notikuma objekts, [papildu parametri]));
Var izmantot metodi on savādāk,
tad pirmajā parametrā tiek padots
JavaScript objekts, kur atslēgas - notikuma veids, bet
vērtības - apstrādes funkcijas, kuras tiek izsauktas
notikumiem:
$(selektors).on({'notikuma veids': handler}, [selektors], [dati]);
Ja mēs nepadosim papildu selektoru, tad notikums iedarbojas uz elementa, kuram mēs pievienojam apstrādes funkciju, pretējā gadījumā - uz pēcteca elementa, kurš atbilst šim selektoram (deleģētie notikumi). Viena un tā pati notikuma apstrādes funkcija var būt piestiprināta pie elementa vairākas reizes.
Piemērs
Parādīsim alert,
rādīsim rindkopas tekstu ar #test, kad
uz tās noklikšķina, klikšķi uz citām rindkopām neko
neizraisīs:
<p>teksts1</p>
<p id="test">teksts2</p>
<p>teksts3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Piemērs
Kad noklikšķina uz rindkopas, parādīsim datus, kurus
mēs nodojām metodei on. Izmantosim
apstrādes funkciju testFunc,
ko mēs izveidojām:
<p>klikšķis</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Skatiet arī
-
metode
off,
kas ļauj noņemt notikumu apstrādes funkciju no elementa -
metode
one,
kas ļauj notikumam iedarboties vienu reizi, un pēc tam automātiski noņemt apstrādes funkciju -
objekts
event,
kas satur informāciju par notikumu -
metode
trigger,
kas ļauj palaist visas notikumu apstrādes funkcijas, kas piesaistītas elementam noteikta veida notikumiem -
JavaScript metode
bind,
kas ļauj piesaistīt kontekstu funkcijai