Delegiranje u jQuery
Ako ste učili JavaScript, već ste se susreli sa temom delegiranja događaja, pomoću kojeg se možemo, na primer, osloboditi problema pri dodavanju dogadjaja za nove elemente. Pogledajmo kako će to izgledati u jQuery.
Uzmimo sledeći HTML kod:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS za njega izgleda ovako:
li {
width: 100px;
cursor: pointer;
}
Hajde sada, pomoću metode
on,
vezujmo dogadjaj click ne
za stavku liste li, kao što smo radili u prethodnim
lekcijama, već za samu listu ul. Takođe prosledimo
drugim (opcionim) parametrom 'li' kao
selektor potomaka. Pogledajmo šta smo dobili:
$('ul').on('click', 'li', function() {
$(this).append('!');
});
Dat je ul, u njemu nekoliko li. Ispod
ul napravite dugme, čijim pritiskom će se
kraju ul dodavati nova li
sa tekstom 'tačka'. Učinite tako da
pri kliku na svaku li, na njen kraj bude dodat
'!'. Ovo treba da radi i za novododate
li. Zadatak rešite uz pomoć
delegiranja (odnosno dogadjaj treba da bude
dodat na ul).
Data je tabela sa korisnicima sa dve kolone: ime i
prezime. Ispod tabele napravite formu, pomoću
koje je moguće dodati novog korisnika u
tabelu. Učinite tako da pri kliku na bilo koju
ćeliju pojavi se prompt, pomoću kojeg
je moguće izmeniti tekst ćelije. Zadatak rešite
uz pomoć delegiranja (odnosno dogadjaj
treba da bude dodat na table).