Delegowanie w jQuery

Jeśli uczyłeś się JavaScriptu, to już spotkałeś się z tematem delegowania zdarzeń, za pomocą którego można, na przykład, pozbyć się problemów przy dodawaniu zdarzeń dla nowych elementów. Spójrzmy, jak to będzie wyglądać w jQuery.

Weźmy następujący kod HTML:

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

CSS dla niego wygląda tak:

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

Spróbujmy teraz, za pomocą metody on, powiązać metodę click nie z elementem listy li, jak robiliśmy to w poprzednich lekcjach, a z samą listą ul. Przekażemy również drugim (opcjonalnym) parametrem 'li' jako selektor elementów potomnych. Zobaczmy, co wyszło:

javascript$('ul').on('click', 'li', function() {
  $(this).append('!');
});
Задание 1

Dany jest ul, w nim kilka li. Pod ul zrób przycisk, po naciśnięciu którego na koniec ul będzie dodawany nowy li z tekstem 'punkt'. Zrób tak, aby po kliknięciu na każdy li, do jego końca był dodawany '!'. Ma to działać również dla nowo dodanych li. Zadanie rozwiąż za pomocą delegowania (to znaczy zdarzenie musi być powiązane z ul).

Задание 2

Dana jest tabela z użytkownikami z dwiema kolumnami: imię i nazwisko. Pod tabelą zrób formularz, za pomocą którego będzie można dodać nowego użytkownika do tabeli. Zrób tak, aby po kliknięciu na dowolną komórkę pojawiał się prompt, za pomocą którego można zmienić tekst komórki. Zadanie rozwiąż za pomocą delegowania (to znaczy zdarzenie musi być powiązane z table).