⊗jqEvtDe 100 of 113 menu

Delegation in jQuery

Wenn Sie JavaScript gelernt haben, sind Sie bereits auf das Thema Ereignisdelegation gestoßen, mit der man beispielsweise Probleme beim Hinzufügen von Ereignissen für neue Elemente beseitigen kann. Schauen wir uns an, wie das in jQuery aussehen wird.

Nehmen wir den folgenden HTML-Code:

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

CSS dafür sieht so aus:

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

Lassen Sie uns nun mit der Methode on, die Methode click nicht auf den Listenpunkt li binden, wie wir es in vorherigen Lektionen getan haben, sondern auf die Liste selbst ul. Außerdem übergeben wir als zweiten (optionalen) Parameter 'li' als Selektor für Nachfolgerelemente. Schauen wir uns an, was dabei herauskommt:

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

Gegeben ist ein ul, darin sind mehrere li. Unter dem ul erstellen Sie einen Button, bei dessen Betätigung am Ende des ul ein neues li mit dem Text 'punkt' hinzugefügt wird. Sorgen Sie dafür, dass bei einem Klick auf jedes li an dessen Ende ein '!' hinzugefügt wird. Dies soll auch für neu hinzugefügte li funktionieren. Lösen Sie die Aufgabe mit Delegation (das Ereignis muss also auf den ul gebunden sein).

Gegeben ist eine Tabelle mit Benutzern mit zwei Spalten: Vorname und Nachname. Unter der Tabelle erstellen Sie ein Formular, mit dem ein neuer Benutzer zur Tabelle hinzugefügt werden kann. Sorgen Sie dafür, dass bei einem Klick auf eine beliebige Zelle ein prompt erscheint, mit dem der Text der Zelle geändert werden kann. Lösen Sie die Aufgabe mit Delegation (das Ereignis muss auf die table gebunden sein).

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen