Jednokratni događaj u jQuery

Kada smo proučavali odvajanje događaja pomoću metode off, koristili smo sledeću konstrukciju:

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

Prvo smo priključivali funkciju-rukovalac pomoću on, zatim odvajali pomoću off.

U jQuery postoji pogodan metod one, koji omogućava da se veže jednokratni događaj - on će se izvršiti samo jednom, a zatim će se automatski odvojiti. Ovaj metod prvi parametar prima tip događaja, a drugi - pridruženu funkciju.

Sledeći primer ćemo razmotriti na osnovu doledate HTML koda:

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

CSS kod izgleda ovako:

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

Sada svakoj li pridružujemo jednokratni događaj:

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

Kliknite na stavke lista. Kao što vidite, dobili smo isti efekat, zahvaljujući metodu one.

Задание 1

Pridružite svim linkovima događaj - pri prelasku miša preko linka na kraj njegovog teksta dopisuje se njen href u oblim zagradama. Nakon prvog prelaska miša preko linka treba odvojiti od njega događaj, koji dodaje href na kraj teksta.

Задание 2

Za sve input elemente uradite tako da ispisuju svoju value pri kliku na bilo koji od njih, ali samo pri prvom kliku. Ponovni klik na input ne bi trebao da izazove reakciju.

Задание 3

Data su paragrafi sa brojevima. Klikom na paragraf u njemu treba da se pojavi kvadrat broja, koji on sadrži, ali samo pri prvom kliku. Pri dvostrukom kliku na paragraf broj u paragrafu treba da se udvostruči, ali takođe samo prvi put.

Задание 4

Data su paragrafi. Uradite tako da pri prvom kliku na paragraf njemu na kraj doda '!', ali samo pri prvom kliku.