Metod on

Metod on omogućava dodavanje ručilaca dogadaja elementu. Da biste uklonili ručilac možete koristiti metod off, da bi se događaj desio samo jednom, a zatim da se ručilac sam ukloni - koristite metod one. Elementi kojima vezujemo ručilac moraju postojati u vreme poziva on.

Sintaksa

Ovako dodajemo ručilac događaja elementu, kao prvi parametar u vidu stringa prosleđuje se jedan ili više događaja odvojenih razmakom, drugim parametrom prosleđujemo dodatni selektor za filtriranje potomaka unutar elementa, trećim - dodatne podatke, koji se prosleđuju ručilcu u svojstvu event.data pri aktiviranju događaja. Drugi i treći parametri nisu obavezni. Četvrtim prosleđujemo funkciju-ručilac, u koju se prosleđuje objekat događaja i neobavezni dodatni parametri. Ako umesto funkcije-ručilca prosledite false, onda funkcija jednostavno vraća false:

javascript$(selektor).on(dogadjaji, [selektor], [podaci], funkcija-ručilac(objekat događaja, [dodatni parametri]));

Možete koristiti metod on drugačije, tada se u prvi parametar prosleđuje objekat JavaScript, gde su ključevi - tip događaja, a vrednosti - funkcije-ručilci, koje se pozivaju za događaje:

javascript$(selektor).on({'tip događaja': handler}, [selektor], [podaci]);

Ako ne prosledimo dodatni selektor, onda se događaj aktivira na elementu kome smo pričvrstili ručilac, u suprotnom - na elementu-potomku koji odgovara tom selektoru (delegirani događaji). Isti ručilac događaja može biti vezan za element više puta.

Primer

Hajde da u alert, prikažemo tekst paragrafa sa #test pri kliku na njega, klikovi na druge paragrafe ne dovode do ničega:

html<p>text1</p>
<p id="test">text2</p>
<p>text3</p>
javascript$('#test').on('click', function() {
  alert( $(this).text() );
});

Primer

Hajde da pri kliku na paragraf prikažemo podatke koje smo prosledili metodu on. Koristimo funkciju-ručilac testFunc, koju smo kreirali:

html<p>click</p>
javascriptfunction testFunc(event) {
  alert(event.data.text);
}

$('p').on('click', {text: 'aaa'}, testFunc);

Vidi još

  • metod off,
    koji omogućava uklanjanje ručilaca događaja elementa
  • metod one,
    koji omogućava da se događaj desi jednom, a zatim automatski ukloni ručilac
  • objekat event,
    koji sadrži informaciju o događaju
  • metod trigger,
    koji omogućava pokretanje svih ručilaca događaja, pričvršćenih za element za događaje zadatog tipa
  • JavaScript metod bind,
    koji omogućava vezivanje konteksta za funkciju