Միանգամյա իրադարձություն jQuery-ում
Երբ մենք ուսումնասիրում էինք իրադարձությունների անջատումը
off
մեթոդի օգնությամբ, մենք օգտագործում էինք հետևյալ կոնստրուկցիան.
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Սկզբում մենք կցում էինք ֆունկցիա-մշակիչ
on
մեթոդի օգնությամբ, ապա անջատում էինք off մեթոդով:
jQuery-ում կա հարմար
one
մեթոդ, որը թույլ է տալիս կցել միանգամյա իրադարձություն.
այն կկատարվի միայն մեկ անգամ, ապա
ինքնաբերաբար կանջատվի: Այս մեթոդը
առաջին պարամետրով ընդունում է իրադարձության տեսակը,
իսկ երկրորդով՝ կցված ֆունկցիան:
Հաջորդ օրինակը մենք կդիտարկենք ստորև բերված HTML կոդի հիման վրա.
<ul>
<li>տեքստ</li>
<li>տեքստ</li>
<li>տեքստ</li>
</ul>
CSS կոդն ունի հետևյալ տեսքը.
li {
width: 100px;
cursor: pointer;
}
Այժմ յուրաքանչյուր li-ին կցում ենք
միանգամյա իրադարձություն.
$('li').one('click', function() {
$(this).append('!');
});
Կտտացրեք ցանկի կետերի վրա: Ինչպես տեսնում եք, մենք ստացանք նույն էֆեկտը, շնորհիվ
one մեթոդի:
Բոլոր հղումներին կցեք իրադարձություն.
հղման վրա դրվելու դեպքում նրա տեքստի վերջում
պետք է ավելացվի դրա href-ը կլոր
փակագծերում: Հղման վրա առաջին դրվելուց հետո
պետք է անջատել դրանից իրադարձությունը, որը
ավելացնում է href-ը տեքստի վերջում:
Բոլոր input-ների համար արեք այնպես, որ դրանք
արտածեն իրենց value-ը
ցանկացածի վրա կտտացնելու դեպքում, բայց միայն
առաջին կտտոցի դեպքում: Input-ի վրա կրկնակի կտտոցը
չպետք է պատճառի արձագանք:
Տրված են թվերով պարբերություններ: Պարբերության վրա կտտացնելու դեպքում նրա մեջ պետք է հայտնվի նրա մեջ եղած թվի քառակուսին, բայց միայն առաջին կտտոցի դեպքում: Պարբերության վրա կրկնակի կտտացնելու դեպքում պարբերության մեջ եղած թիվը պետք է կրկնապատկվի, բայց նույնպես միայն առաջին անգամ:
Տրված են պարբերություններ: Արեք այնպես, որ առաջին
կտտոցի դեպքում պարբերության վրա նրա վերջում ավելանա '!',
բայց միայն առաջին կտտոցի դեպքում: