Ngjarja e vetme në jQuery
Kur kemi studiuar çlidhjen e ngjarjeve me
ndihmën e metodës
off,
kemi përdorur konstruktin e mëposhtëm:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Fillimisht ne lidhnim funksionin-përpunues me
ndihmën e on,
pastaj e çlidhnim me ndihmën e off.
Në jQuery ekziston një metodë e përshtatshme
one,
e cila lejon lidhjen e një ngjarjeje një herëshe -
ajo do të ekzekutohet vetëm një herë, dhe
pastaj do të çlidhet automatikisht. Kjo metodë
si parametër të parë pranon llojin e ngjarjes,
ndërsa si të dytë - funksionin e lidhur.
Shembullin e ardhshëm do ta shqyrtojmë në bazë të kodit HTML më poshtë:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
Kodi CSS duket kështu:
li {
width: 100px;
cursor: pointer;
}
Tani për çdo li lidhim
ngjarjen një herëshe:
$('li').one('click', function() {
$(this).append('!');
});
Klikoni në pikat
e listës. Siç e shihni, ne kemi marrë të njëjtin efekt, fal
metodës one.
Lidhini të gjitha lidhjeve ngjarjen - kur
kursori vihet mbi lidhjen në fund të tekstit të saj
shtohet href i saj në kllapa
të rrumbullakëta. Pas vendosjes së parë të kursorit mbi lidhjen
duhet të çlihet prej saj ngjarja, e cila
shton href në fund të tekstit.
Për të gjitha fushat e teksti bëni që ato
të shfaqin value të tyre kur
shtypet në cilindo prej tyre, por vetëm në
shtypjen e parë. Shtypja e dytë në
fushën e tekstit nuk duhet të shkaktojë reaksion.
Janë dhënë paragrafë me numra. Me klikim në paragraf në të duhet të shfaqet katrori i numrit, që ai përmban, por vetëm në klikimin e parë. Me klikim të dyfishtë në paragraf numri në paragraf duhet të dyfishohet, por gjithashtu vetëm herën e parë.
Janë dhënë paragrafë. Bëni që me klikimin e parë
në paragraf në fund të tij të shtohet '!',
por vetëm në klikimin e parë.