Jednorázová udalosť v jQuery

Keď sme študovali odpojenie udalostí pomocou metódy off, použili sme nasledujúcu konštrukciu:

javascript$('li').on('click', function() {
  $(this).append('!');
  $(this).off('click', func);
});

Najprv sme pripojili funkciu-obsluhu pomocou on, potom sme ju odpojili pomocou off.

V jQuery existuje pohodlná metóda one, ktorá umožňuje pripojiť jednorázovú udalosť - vykoná sa iba raz a potom sa automaticky odpojí. Táto metóda ako prvý parameter prijíma typ udalosti, a ako druhý - pripojenú funkciu.

Nasledujúci príklad si ukážeme na základe nižšie uvedeného HTML kódu:

html<ul>
  <li>text</li>
  <li>text</li>
  <li>text</li>
</ul>

CSS kód vyzerá takto:

cssli {
  width: 100px;
  cursor: pointer;
}

Teraz ku každej li pripojíme jednorázovú udalosť:

javascript$('li').one('click', function() {
  $(this).append('!');
});

Klikajte na položky zoznamu. Ako vidíte, dosiahli sme rovnaký efekt vďaka metóde one.

Задание 1

Pripojte všetkým odkazom udalosť - pri prejdení myšou nad odkaz sa na koniec jej textu pripíše jej href v okrúhlych zátvorkách. Po prvom prejdení myšou nad odkaz je potrebné odpojiť od nej udalosť, ktorá pridáva href na koniec textu.

Задание 2

Pre všetky inputy urobte tak, aby zobrazovali svoju value pri kliknutí na ktorýkoľvek z nich, ale iba pri prvom kliknutí. Opakované kliknutie na input nemá spôsobiť reakciu.

Задание 3

Sú dané odseky s číslami. Pri kliknutí na odsek sa v ňom má objaviť druhá mocnina čísla, ktoré obsahuje, ale iba pri prvom kliknutí. Pri dvojitom kliknutí na odsek sa číslo v odseku má zdvojnásobiť, ale tiež iba prvýkrát.

Задание 4

Sú dané odseky. Urobte tak, aby pri prvom kliknutí na odsek sa mu na koniec pridalo '!', ale iba pri prvom kliknutí.