jQuery-də təkhadə hadisə
Biz hadisələri
off
metodu ilə ayrılaşdırmağı öyrənərkən,
aşağıdakı konstruksiyadan istifadə etmişdik:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Əvvəlcə
on
metodu ilə bir eməl funksiyası əlavə edirdik,
sonra isə off metodu ilə ayrılaşdırırdıq.
jQuery-də one
adlı rahat bir metod var -
bu, təkhadə hadisəni əlaqələndirməyə imkan verir -
o, sadəcə bir dəfə işləyəcək və
sonra avtomatik olaraq ayrılaşacaq. Bu metod
ilk parametr kimi hadisənin növünü qəbul edir,
ikinci parametr kimi isə əlaqələndirilmiş funksiyanı.
Aşağıdakı nümunəni aşağıda verilmiş HTML kodu əsasında nəzərdən keçirəcəyik:
<ul>
<li>mətn</li>
<li>mətn</li>
<li>mətn</li>
</ul>
CSS kodu belə görünür:
li {
width: 100px;
cursor: pointer;
}
İndi hər bir li-yə
təkhadə hadisə əlaqələndiririk:
$('li').one('click', function() {
$(this).append('!');
});
Siyahının bəndlərinə klikləyin.
Gördüyünüz kimi, biz one metodu
səyi ilə eyni effekti əldə etdik.
Bütün linklərə hadisə əlaqələndirin -
linkin üzərinə gəldikdə
mətnin sonuna onun href-i
dairəvi mötərizələr içərisində əlavə edilsin.
Linkin üzərinə ilk dəfə gəldikdən sonra
ona href-i mətnin sonuna əlavə edən
hadisəni ayrılaşdırmalısınız.
Bütün inputlar üçün elə edin ki,
onlardan hər hansı birinə kliklədikdə
öz value-sunu çap etsin,
lakin yalnız ilk klikdə.
Inputa təkrarən klikləmək
heç bir reaksiya verməməlidir.
Rəqəmləri olan abzaslar verilib. Abzasa klik edildikdə onun əhatə etdiyi rəqəmin kvadratı içərisində görünsün, amma yalnız ilk klikdə. Abzasa cüt klik edildikdə isə abzasdakı rəqəm ikiqat artmalıdır, amma o da yalnız ilk dəfə.
Abzaslar verilib. Elə edin ki, abzasa ilk dəfə
klikləndikdə onun sonuna '!'
əlavə edilsin, amma yalnız ilk klikdə.