jQueryдеги бир жолку окуя
Биз
off
методу менен окуяларды байланыштырып чыгууну
үйрөнгөндө, төмөнкү конструкцияны колдонгондук:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Алгач биз
on
жардамы менен функция-иштетүүчүнү байлаштырдык,
андан кийин off жардамы менен байланыштырып чыктык.
jQueryде
one
деген ыңгайлуу метод бар,
ал бир жолку окуяны байлаштырууга мүмкүндүк берет -
ал бир гана жолу аткарылат, анан
автоматтык түрдө өзү байланыштан чыгат. Бул метод
биринчи параметри катары окуянын түрүн кабыл алат,
экинчиси болсо - байланышкан функцияны.
Төмөнкү мисалды төмөндө келтирилген HTML кодунун негизинде карап чыгабыз:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS коду мына ушундай көрүнөт:
li {
width: 100px;
cursor: pointer;
}
Эми ар бир li ге
бир жолку окуяны байлаштырабыз:
$('li').one('click', function() {
$(this).append('!');
});
Тизмелердин пункттарына басыңыз.
Көрүнүп тургандай, биз one методунун жардамы менен
ошол эле таасирди алдык.
Бардык шилтемелерге окуяны байлаштырыңыз -
шилтеменин үстүнө чычкан келгенде, анын текстинин
аягына анын hrefи тегерек
кашаанын ичинде кошулат. Шилтеменин үстүнө биринчи жолу
чычкан келгенден кийин,
шилтемеге hrefти тексттин аягына кошкон
окуяны байланыштырып чыгуу керек.
Бардык inputтор үчүн мындай кылыңыз: алардын
бирине басканда, алар өздөрүнүн valueсин
чыгарышы керек, бирок биринчи басууга гана.
inputко кайра басуу реакцияны чакырбошу керек.
Сандары бар абзацтар берилген. Абзацка чыкылдатуу менен анда камтылган сандын квадраты пайда болушу керек, бирок биринчи чыкылдатууга гана. Абзацка кош чыкылдатуу менен, андагы сан эки эсе көбөйүшү керек, бирок дагы биринчи жолу гана.
Абзацтар берилген. Мына ушундай кылыңыз: абзацка биринчи
чыкылдатуу менен анын аягына '!'
кошулсун, бирок биринчи чыкылдатууга гана.