Delegering i jQuery

Hvis du har studeret JavaScript, har du allerede stødt på emnet eventdelegering, som f.eks. kan bruges til at undgå problemer med at tilknytte events til nye elementer. Lad os se på, hvordan det vil se ud i jQuery.

Lad os tage følgende HTML-kode:

html<ul>
  <li>tekst</li>
  <li>tekst</li>
  <li>tekst</li>
</ul>

CSS for det ser sådan ud:

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

Lad os nu, ved hjælp af metoden on, binde metoden click ikke til listepunktet li, som vi gjorde i de foregående lektioner, men til selve listen ul. Vi vil også sende en anden (valgfri) parameter 'li' som afstamningsselektor. Lad os se, hvad vi fik:

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

Der er givet en ul, i den er der flere li. Under ul lav en knap, ved klik på hvilken der tilføjes en ny li til enden af ul med teksten 'punkt'. Sørg for at ved klik på hver li tilføjes der en '!' til dens ende. Dette skal også virke for nyttilføjede li. Løs opgaven ved hjælp af delegering (det vil sige eventet skal være sat på ul).

Задание 2

Der er givet en tabel med brugere med to kolonner: fornavn og efternavn. Under tabellen lav en formular, ved hjælp af hvilken det vil være muligt at tilføje en ny bruger til tabellen. Sørg for, at ved klik på enhver celle vises en prompt, ved hjælp af hvilken det er muligt at ændre celleteksten. Løs opgaven ved hjælp af delegering (det vil sige eventet skal være sat på table).