Suchen und Finden
Service
Infos und Kontakt
Inhalt
7
Vorwort
15
Beteiligte
17
Kapitelautoren
17
Fachlektoren
20
Einleitung
21
Für wen dieses Buch gedacht ist
21
Was Sie lernen werden
22
Stil und Konventionen von jQuery
22
Andere Optionen
23
Wenn Sie Probleme mit den Beispielen haben
23
Wenn Sie dieses Buch mögen (oder auch nicht)
24
Konventionen
24
Kapitel 1 – Grundlagen von jQuery
27
1.0 Einleitung
27
Warum jQuery?
28
Die Philosophie hinter jQuery
30
Elemente finden, mit denen dann etwas getan wird
30
Verketten
31
Die Wrapper-Sets von jQuery
32
Organisation der jQuery-API
33
1.1 Einbinden der jQuery-Bibliothek in eine HTML-Seite
35
Problem
35
Lösung
35
Diskussion
36
1.2 Ausführen von jQuery/JavaScript-Code nach dem Laden des DOM, aber noch vor dem vollständigen Laden der Seite
37
Problem
37
Lösung
37
Diskussion
37
1.3 Selektieren von DOM-Elementen mit Selektoren und der jQuery-Funktion
39
Problem
39
Lösung
39
Diskussion
41
1.4 Selektieren von DOM-Elementen in einem bestimmten Kontext
41
Problem
41
Lösung
41
Diskussion
42
1.5 Ein Wrapper-Set mit DOM-Elementen filtern
42
Problem
42
Lösung
42
Diskussion
43
1.6 Abhängige Elemente im aktuell selektierten Wrapper-Set finden
44
Problem
44
Lösung
44
Diskussion
45
1.7 Vor einer destruktiven Änderung zur vorherigen Selektion zurückkehren
45
Problem
45
Lösung
45
Diskussion
46
1.8 Die vorherige Selektion mit der aktuellen Selektion vereinigen
47
Problem
47
Lösung
47
Diskussion
47
1.9 Das DOM basierend auf dem aktuellen Kontext durchlaufen, um ein neues Set mit DOM-Elementen zu erhalten
48
Problem
48
Lösung
48
Diskussion
49
1.10 DOM-Elemente erstellen, bearbeiten und einfügen
49
Problem
49
Lösung
49
Diskussion
50
1.11 Entfernen von DOM-Elementen
51
Problem
51
Lösung
51
Diskussion
52
1.12 DOM-Elemente ersetzen
52
Problem
52
Lösung
52
Diskussion
53
1.13 DOM-Elemente klonen
53
Problem
53
Lösung
53
Diskussion
54
1.14 Attribute von DOM-Elementen lesen, setzen und entfernen
56
Problem
56
Lösung
56
Diskussion
57
1.15 HTML-Inhalte lesen und setzen
57
Problem
57
Lösung
57
Diskussion
58
1.16 Text-Inhalte lesen und setzen
58
Problem
58
Lösung
58
Diskussion
59
1.17 Den $-Alias verwenden, ohne globale Konflikte zu erzeugen
59
Problem
59
Lösung
59
Diskussion
59
Kapitel 2 – Elemente mit jQuery selektieren
61
2.0 Einführung
61
2.1 Nur Kind-Elemente selektieren
62
Problem
62
Lösung
62
Diskussion
63
2.2 Bestimmte Geschwister-Elemente selektieren
64
Problem
64
Lösung
64
Diskussion
65
2.3 Elemente über die Index-Reihenfolge selektieren
65
Problem
65
Lösung
65
Diskussion
67
2.4 Aktuell animierte Elemente selektieren
67
Problem
67
Lösung
68
Diskussion
68
2.5 Elemente anhand ihres Inhalts selektieren
68
Problem
68
Lösung
68
Diskussion
69
2.6 Elemente über eine negative Selektion selektieren
69
Problem
69
Lösung
69
Diskussion
69
2.7 Elemente anhand ihrer Sichtbarkeit selektieren
70
Problem
70
Lösung
70
Diskussion
70
2.8 Elemente anhand von Attributen selektieren
71
Problem
71
Lösung
71
Diskussion
72
2.9 Form-Elemente anhand des Typs selektieren
72
Problem
72
Lösung
72
Diskussion
73
2.10 Elemente mit bestimmten Eigenschaften selektieren
73
Problem
73
Lösung
74
Diskussion
75
2.11 Den Kontext-Parameter verwenden
75
Problem
75
Lösung
75
Diskussion
76
2.12 Einen eigenen Filter-Selektor erstellen
76
Problem
76
Lösung
76
Diskussion
77
Kapitel 3 – Fortgeschrittene Techniken
79
3.0 Einführung
79
3.1 Ein Set mit selektierten Ergebnissen durchlaufen
79
Problem
79
Lösung
79
Diskussion
80
3.2 Das Selektions-Set auf ein bestimmtes Element reduzieren
82
Problem
82
Lösung
82
Diskussion
85
3.3 Ein selektiertes jQuery-Objekt in ein reines DOM-Objekt konvertieren
85
Problem
85
Lösung
85
Diskussion
87
3.4 Den Index eines Elements in einer Selektion ermitteln
88
Problem
88
Lösung
88
Diskussion
89
3.5 Aus einem bestehenden Array ein Array mit ausgewählten Werten erstellen
90
Problem
90
Lösung
90
Diskussion
92
3.6 Eine Aktion auf einer Untermenge des selektierten Sets ausführen
92
Problem
92
Lösung
92
Diskussion
95
3.7 Konfigurieren von jQuery, so dass es nicht mit anderen Bibliotheken kollidiert
95
Problem
95
Lösung
95
Diskussion
96
3.8 Funktionalität durch Plugins hinzufügen
97
Problem
97
Lösung
97
Diskussion
99
3.9 Die verwendete Selektion bestimmen
100
Problem
100
Lösung
100
Diskussion
101
Kapitel 4 – jQuery-Tools
103
4.0 Einführung
103
4.1 Features mit jQuery.support erkennen
103
Problem
103
Lösung
103
Diskussion
104
4.2 Mit jQuery.each über Arrays und Objekte iterieren
105
Problem
105
Lösung
105
Diskussion
105
4.3 Arrays mit jQuery.grep filtern
106
Problem
106
Lösung
106
Diskussion
106
4.4 Über Array-Elemente mit jQuery.map iterieren und sie verändern
107
Problem
107
Lösung
107
Diskussion
107
4.5 Zwei Arrays durch jQuery.merge kombinieren
107
Problem
107
Lösung
108
Diskussion
108
4.6 Doppelte Array-Einträge mit jQuery.unique ausfiltern
108
Problem
108
Lösung
108
Diskussion
109
4.7 Callback-Funktionen mit jQuery.isFunction testen
109
Problem
109
Lösung
109
Diskussion
109
4.8 Whitespace aus Strings oder Form-Werten mit jQuery.trim entfernen
110
Problem
110
Lösung
110
Diskussion
110
4.9 Objekte und Daten per jQuery.data an DOM-Elemente anhängen
110
Problem
110
Lösung
111
Diskussion
111
4.10 Objekte durch jQuery.extend erweitern
112
Problem
112
Lösung
112
Diskussion
112
Kapitel 5 – Schneller, Einfacher, Spaßiger
115
5.0 Einführung
115
5.1 Das ist nicht jQuery, sondern JavaScript!
115
Problem
115
Lösung
116
Diskussion
116
5.2 Was ist an $(this) falsch?
116
Problem
116
Lösung
117
Diskussion
117
5.3 Überflüssige Wiederholungen vermeiden
119
Problem
119
Lösung 1
119
Lösung 2
120
Diskussion
120
5.4 Ihre verketteten jQuery-Methoden formatieren
121
Problem
121
Lösung
121
Diskussion
121
5.5 Code aus anderen Bibliotheken übernehmen
122
Problem
122
Lösung
123
Diskussion
123
5.6 Einen eigenen Iterator schreiben
125
Problem
125
Lösung
125
Diskussion
126
5.7 Ein Attribut umschalten
127
Problem
127
Lösung
127
Diskussion
129
5.8 Performance-Killer finden
129
Problem
129
Lösung
130
Diskussion
130
5.9 Ihre jQuery-Objekte puffern
134
Problem
134
Lösung
134
Diskussion
135
5.10 Schnellere Selektoren schreiben
135
Problem
135
Lösung
136
Diskussion
137
5.11 Tabellen schneller laden
137
Problem
137
Lösung
139
Diskussion
140
5.12 Schleifen programmieren
140
Problem
140
Lösung
141
Diskussion
143
5.13 Name Lookups verringern
143
Problem
143
Lösung
143
Diskussion
144
5.14 Das DOM mit .innerHTML schneller aktualisieren
146
Problem
146
Lösung
146
Diskussion
146
5.15 Debuggen? Sprengen Sie die Ketten
147
Problem
147
Lösung
147
Diskussion
149
5.16 Ist das ein Bug von jQuery?
149
Problem
149
Lösung
149
Diskussion
150
5.17 In jQuery debuggen
150
Problem 1
150
Lösung 1
150
Problem 2
151
Lösung 2
151
Diskussion
152
5.18 Weniger Server-Anfragen erzeugen
152
Problem
152
Lösung
153
Diskussion
154
5.19 Zurückhaltendes JavaScript schreiben
155
Problem
155
Lösung
156
Diskussion
157
5.20 jQuery für die progressive Verbesserung nutzen
157
Problem
157
Lösung
157
Diskussion
159
5.21 Machen Sie Ihre Seiten barrierefrei
159
Problem
159
Lösung
159
Diskussion
162
Kapitel 6 – Dimensionen
163
6.0 Einführung
163
6.1 Die Dimensionen von Window und Document ermitteln
163
Problem
163
Lösung
163
Diskussion
163
6.2 Ermitteln der Dimensionen eines Elements
164
Problem
164
Lösung
165
Diskussion
166
6.3 Den Offset eines Elements ermitteln
167
Problem
167
Lösung
167
Diskussion
169
6.4 Ein Element in den sichtbaren Bereich scrollen
169
Problem
169
Lösung: Scrollen des gesamten Fensters
169
Lösung: Scrollen innerhalb eines Elements
170
6.5 Ermitteln, ob sich ein Element im sichtbaren Bereich befindet
171
Problem
171
Lösung
171
6.6 Zentrieren eines Elements im sichtbaren Bereich
174
Problem
174
Lösung
174
6.7 Absolute Positionierung eines Elements an seiner aktuellen Position
175
Problem
175
Lösung
175
6.8 Ein Element relativ zu einem anderen Element positionieren
175
Problem
175
Lösung
175
6.9 Stylesheets abhängig von der Browser-Breite wechseln
177
Problem
177
Lösungen
177
Lösung 1: Ändern der Klasse des Body-Elements
177
Lösung 2: Ändern des href-Attributs des Stylesheets, das für größenbezogene Styles zuständig ist
177
Lösung 3: Alle größenbezogenen Stylesheets in die Seite einbinden, aber nur eines aktivieren
178
Diskussion
178
Kapitel 7 – Effekte
179
7.0 Einführung
179
Methode animate
180
Animations-Geschwindigkeiten
180
Effekt-Vorlage
180
7.1 Elemente per Sliding und Fading ein- und ausblenden
181
Problem
181
Lösung
181
Slide
181
Fade
182
Beides
182
Diskussion
183
7.2 Elemente durch ein Sliding Up anzeigen
184
Problem
184
Lösung
184
HTML
184
CSS
184
jQuery
185
Diskussion
185
7.3 Erzeugen eines horizontalen Akkordeons
186
Problem
186
Lösung
186
HTML
186
CSS
186
jQuery
187
Diskussion
187
7.4 Elemente gleichzeitig Sliden und Faden
189
Lösung
190
Diskussion
190
7.5 Sequenzielle Effekte anwenden
190
Problem
190
Lösung
190
Manueller Callback
191
Automatische Sequenz
191
Diskussion
191
7.6 Erkennen, ob Elemente aktuell animiert werden
192
Problem
192
Lösung
192
Diskussion
193
7.7 Animationen stoppen und zurücksetzen
193
Problem
193
Lösung
194
Diskussion
194
7.8 Eigene Easing-Methoden für Effekte nutzen
195
Problem
195
Lösung
195
Diskussion
195
7.9 Alle Effekte deaktivieren
196
Problem
196
Lösung
196
Diskussion
196
7.10 Aufwändigere Effekte mit jQuery UI erzeugen
197
Problem
197
Lösung
197
CSS
197
jQuery
198
Diskussion
198
Kapitel 8 – Events
199
8.0 Einführung
199
8.1 Einen Handler mit vielen Events verbinden
200
Problem
200
Lösung
200
Diskussion
201
8.2 Eine Handler-Funktion mit anderen Daten wiederverwenden
201
Problem
201
Lösung
202
Diskussion
202
8.3 Ein ganzes Set mit Eventhandlern entfernen
203
Problem
203
Lösung
203
Diskussion
204
Wie bindet man mit einem Namensraum?
204
Wie räumt man später auf?
204
8.4 Eventhandler auslösen
204
Problem
204
Lösung
204
Diskussion
205
Wie löst man Handler mit einem bestimmten Namensraum aus?
205
Wie löst man Handler aus, die keinen Namensraum haben?
205
8.5 Dynamische Daten an Eventhandler übergeben
205
Problem
205
Lösung
205
Diskussion
206
Zusätzliche Argumente übergeben
206
Mehr Beispiele
206
Ein eigenes Event-Objekt übergeben
207
Was ist der Unterschied zu event.data?
208
8.6 Sofortiger Zugriff auf ein Element (noch vor document.ready)
208
Problem
208
Lösung
208
Diskussion
208
Ein Element direkt verbergen (oder eine andere Änderung am Style vornehmen)
208
Eventhandler so schnell wie möglich an ein Element binden
209
Andere Situationen
210
Polling
210
Skripte positionieren
210
8.7 Die Ausführungsschleife für Handler stoppen
211
Problem
211
Lösung
211
Diskussion
212
Beispiele
212
Einfaches Überprüfen einer Form
212
Alle Events stoppen
212
Nachteile dieses Vorgehens
212
8.8 Beim Verwenden von event.target das richtige Element erhalten
213
Problem
213
Lösung
213
Diskussion
214
8.9 Mehrere parallele hover()-Animationen vermeiden
215
Problem
215
Lösung
215
Diskussion
215
Beispiel
215
Der Rest
216
8.10 Eventhandler für neu hinzugefügte Elemente nutzbar machen
217
Problem
217
Lösung
217
Diskussion
218
Warum gehen Eventhandler verloren?
218
Eine kleine Einführung in die Event-Delegation
218
Vor- und Nachteile jeder Lösung
219
Rebinding
219
Event-Delegation
219
Ergebnis
219
Kapitel 9 – Events für Fortgeschrittene
221
9.0 Einführung
221
9.1 jQuery nutzen, wenn es dynamisch geladen wird
221
Problem
221
Lösung
221
Diskussion
222
Was ist jQuery.ready()?
222
Warum ist das passiert?
222
9.2 Das globale Auslösen von Events beschleunigen
222
Problem
222
Lösung
223
Diskussion
224
Vor- und Nachteile
224
Den Listenern weitere Funktionalität verpassen
224
9.3 Eigene Events erstellen
225
Problem
225
Lösung
226
Diskussion
226
Bindings für Ihr Event
226
Ein reales Beispiel
227
Bestehende Anwendungsfälle für dieses Feature
227
9.4 Eventhandler stellen benötigte Daten bereit
228
Problem
228
Lösung
228
Diskussion
228
Wie kann man das mit jQuery 1.3 und höher machen?
228
Vorgehen vor jQuery 1.3
230
Eventhandler können Aktionen verhindern
230
9.5 Event-gesteuerte Plugins erstellen
231
Problem
231
Lösung
231
Diskussion
232
Ein Beispiel
232
Was passiert, wenn ein Element schon eines dieser Events besitzt?
234
Wie kann ich es anderen ermöglichen, die hinzugefügten Eventhandler wieder abzuräumen?
234
Was ist der Unterschied zu anderen Vorgehensweisen?
234
Das Plugin kann Anweisungen entgegennehmen
234
Ein Objekt mit Methoden zurückgeben
235
9.6 Benachrichtigungen erhalten, wenn jQuery-Methoden aufgerufen werden
235
Problem
235
Lösung
236
Diskussion
236
Die gewünschte Methode überladen
236
Ein Event vor der Ausführung auslösen
236
Die ursprüngliche Methode ausführen
237
Ein Event nach der Ausführung auslösen
237
Das Ergebnis zurückgeben
237
Alles zusammen
237
Was kann man noch machen?
238
9.7 Objekt-Methoden als Event Listener nutzen
239
Problem
239
Lösung
239
Diskussion
239
Wo ist der Knoten hin?
239
Das Beispiel
239
Die Objekte
239
Die Methoden binden
240
Kapitel 10 – HTML-Forms durch eigenen Code verbessern
243
10.0 Einführung
243
10.1 Ein Texteingabefeld beim Laden der Seite fokussieren
244
Problem
244
Lösung
244
Diskussion
244
10.2 Form-Elemente aktivieren und deaktivieren
245
Problem
245
Lösung 1
245
Lösung 2
246
Diskussion
247
10.3 Automatisch Radio Buttons auswählen
248
Problem
248
Lösung 1
248
Lösung 2
248
Diskussion
249
10.4 (De)selektieren aller Checkboxen durch Links
250
Problem
250
Lösung
250
Diskussion
250
10.5 (De)selektieren aller Checkboxen über einen einzelnen Umschalter
251
Problem
251
Lösung
252
Diskussion
252
10.6 Auswahl-Optionen hinzufügen und entfernen
253
Problem
253
Lösung
253
Diskussion
254
10.7 Abhängig von der Anzahl der Zeichen ins nächste Feld springen
254
Problem
254
Lösung
255
Diskussion
256
10.8 Anzahl der verbleibenden Zeichen anzeigen
256
Problem
256
Lösung
257
Diskussion
258
10.9 Texteingabefelder auf bestimmte Zeichen beschränken
259
Problem
259
Lösung
259
Diskussion
260
10.10 Eine Form mit Ajax abschicken
260
Problem
260
Lösung
261
Diskussion
262
10.11 Forms überprüfen
262
Problem
262
Lösung
264
Diskussion
265
Kapitel 11 – Verbesserungen von HTML-Forms durch Plugins
269
11.0 Einleitung
269
Grundlegendes Vorgehen
269
11.1 Forms überprüfen
270
Problem
270
Lösung
270
Diskussion
272
Methoden
273
Eigene Methoden
273
Regeln
274
Abhängigkeiten
275
Eigene Ausdrücke
276
Fehlermeldungen
276
Lokalisierung
277
Fehler-Element
277
Layout
277
Umgang mit submit
278
Einschränkungen
279
11.2 Eingabemasken für Felder erstellen
280
Problem
280
Lösung
280
Diskussion
280
Einschränkungen
281
11.3 Textfelder automatisch vervollständigen
282
Problem
282
Lösung
282
Diskussion
283
11.4 Einen Wertebereich selektieren
283
Problem
283
Lösung
283
Diskussion
284
11.5 Einen Wert eingeben, der innerhalb bestimmter Grenzen liegt
286
Problem
286
Lösung
286
Diskussion
286
Integration mit Google Maps
287
11.6 Dateien im Hintergrund hochladen
288
Problem
288
Lösung
289
Diskussion
289
11.7 Die Länge von Texteingabefeldern begrenzen
290
Problem
290
Lösung
290
Diskussion
290
11.8 Label oberhalb von Eingabefeldern anzeigen
291
Problem
291
Lösung
291
Diskussion
292
11.9 Ein Eingabeelement mit seinem Inhalt wachsen lassen
292
Problem
292
Lösung
293
Diskussion
293
11.10 Ein Datum wählen
293
Problem
293
Lösung
294
Diskussion
295
Lokalisierung
295
Kapitel 12 – jQuery-Plugins
297
12.0 Einleitung
297
12.1 Wo finden Sie jQuery-Plugins?
297
Problem
297
Lösung
297
Diskussion
298
Im jQuery Plugin Repository suchen
298
In Google Code suchen
298
In GitHub suchen
298
Mit Google suchen
299
In SourceForge suchen
299
12.2 Wann sollten Sie ein jQuery-Plugin schreiben?
299
Problem
299
Lösung
300
Diskussion
300
Ein Plugin bauen, wenn es einen potenziellen Anwenderkreis gibt
300
Das für Sie akzeptable Support-Level kennen und kommunizieren
300
Berücksichtigen Sie die Mithilfe durch andere
301
12.3 Schreiben Sie Ihr erstes jQuery-Plugin
301
Problem
301
Lösung
301
Eine eigene jQuery-Methode schreiben
302
Eine eigene jQuery-Funktion schreiben
302
Diskussion
302
12.4 Ihrem Plugin Optionen mitgeben
303
Problem
303
Lösung
303
Diskussion
304
12.5 Die Kurzform $ in Ihrem Plugin verwenden
304
Problem
304
Lösung
305
Diskussion
305
12.6 Private Funktionen in Ihr Plugin aufnehmen
306
Problem
306
Lösung
306
Diskussion
307
12.7 Das Metadata-Plugin unterstützen
308
Problem
308
Lösung
308
Diskussion
309
12.8 Ihrem Plugin eine statische Funktion hinzufügen
310
Problem
310
Lösung
310
Diskussion
311
12.9 Unit Tests für Ihr Plugin mit QUnit
312
Problem
312
Lösung
312
Diskussion
313
Kapitel 13 – Selbst geschriebene Benutzerschnittstellen
315
13.0 Einleitung
315
13.1 Eigene Tooltips erstellen
317
Problem
317
Lösung
317
Tooltip – HTML-Code
317
Tooltip – jQuery-Code
318
Diskussion
320
13.2 In einem Baum navigieren
321
Problem
321
Lösung
321
Baum – HTML-Code
322
Baum – jQuery-Code
323
Diskussion
324
13.3 Ein Akkordeon aufziehen
324
Problem
324
Lösung
325
Akkordeon – HTML-Code
326
Akkordeon – jQuery-Code
327
Diskussion
328
13.4 Registerkarten in einem Dokument
329
Problem
329
Lösung
329
Registerkarten – HTML-Code
330
Registerkarten – jQuery-Code
331
Diskussion
332
13.5 Ein einfaches modales Fenster anzeigen
332
Problem
332
Lösung
333
Modales Fenster – HTML-Code
334
Modales Fenster – jQuery-Code
334
Diskussion
337
13.6 Dropdown-Menüs erstellen
339
Problem
339
Lösung
339
Dropdown-Menü – HTML-Code
340
Dropdown-Menü – jQuery-Code
340
Diskussion
341
13.7 Bilder zyklisch einblenden
341
Problem
341
Lösung
342
Rotator – HTML-Code
342
Rotator – jQuery-Code
343
Diskussion
345
13.8 Sliding Panels
346
Problem
346
Lösung
346
Panel – HTML-Code
347
Panel – jQuery-Code
348
Diskussion
349
Kapitel 14 – Benutzerschnittstellen mit jQuery UI
351
14.0 Einleitung
351
Interaktionen
351
Widgets
352
Effekte
352
Grundlegende Verwendung
352
Wie dieses Kapitel aufgebaut ist
352
14.1 Die komplette jQuery UI-Suite einbinden
353
Problem
353
Lösung
353
Diskussion
353
14.2 Ein oder zwei einzelne jQuery UI-Plugins einbinden
354
Problem
354
Lösung
354
Diskussion
354
14.3 Ein jQuery UI-Plugin mit den Standard-Optionen initialisieren
355
Problem
355
Lösung
355
Diskussion
355
14.4 Ein jQuery UI-Plugin mit eigenen Optionen initialisieren
356
Problem
356
Lösung
357
Diskussion
357
14.5 Eigene jQuery UI-Plugin-Standardwerte erstellen
357
Problem
357
Lösung
358
Diskussion
358
14.6 Optionen für jQuery UI-Plugins lesen und setzen
359
Problem
359
Lösung 1: Den Wert lesen
359
Lösung 2: Den Wert setzen
359
Diskussion
359
14.7 Plugin-Methoden von jQuery UI aufrufen
360
Problem
360
Lösung
360
Diskussion
360
14.8 Mit Events von jQuery UI-Plugins umgehen
361
Problem
361
Lösung 1: Eine Callback-Funktion für die Option mit dem Event-Namen übergeben
361
Lösung 2: Über den Event-Typ an das Event binden
361
Diskussion
362
14.9 Ein jQuery UI-Plugin zerstören
363
Problem
363
Lösung
363
Diskussion
363
14.10 Einen Musikplayer mit jQuery UI erstellen
363
Problem
363
Lösung
364
HTML5 Audio
364
Der Musikplayer
365
Buttons zum Abspielen und Pausieren
366
Label für die aktuelle Position und die Länge des Liedes
367
Slider für die Position im Lied
368
Fortschrittsbalken, um den Pufferstatus anzuzeigen
370
Lautstärkeregler
371
Hintergrund des Widgets und letzte Feinarbeiten
374
Kapitel 15 – Themes in jQuery UI
377
15.0 Einleitung
377
Die Komponenten von jQuery UI CSS verstehen
378
15.1 Themes für jQuery UI-Widgets mit ThemeRoller erstellen
382
Problem
382
Lösung
382
Schritt 1. ThemeRoller öffnen
383
Schritt 2. Ein Theme erstellen und in der Vorschau betrachten
385
Schritt 3. Die jQuery UI-Widgets und das Theme herunterladen
391
Schritt 4. Dateien in Ihrem Projektverzeichnis zusammenführen
392
Schritt 5. Auf die Theme-Stylesheets in Ihrem Projekt verweisen
393
Diskussion
395
15.2 Layout und Theme-Styles von jQuery UI überschreiben
396
Problem
396
Lösung
396
Schritt 1. Markup und Styles des Widgets des jQuery UI-Plugins untersuchen
397
Schritt 2. Erstellen eines Override-Stylesheets
399
Schritt 3. Die Style-Regeln im Override-Stylesheet bearbeiten
400
Eingeschränktes Überschreiben
400
Override-Regeln schreiben
401
Diskussion
406
15.3 Ein Theme auf Komponenten anwenden, die nicht zum jQuery UI gehören
407
Problem
407
Lösung
407
Schritt 1: Die verfügbaren Framework-Klassen untersuchen, um diejenigen zu ermitteln, die Sie auf Ihre Komponenten anwenden können
408
Schritt 2: Framework-Klassen für anklickbare Elemente anwenden
412
Diskussion
416
15.4 Mehrere Themes auf einer einzelnen Seite verwenden
417
Problem
417
Lösung
417
Schritt 1. Ein weiteres Theme mit ThemeRoller erstellen
419
Schritt 2. Das neue Theme mit einem Gültigkeitsbereich versehen und es herunterladen
420
Schritt 3. Vereinigen der Dateien in Ihrem Projektverzeichnis
423
Schritt 4. Das Stylesheet des eingeschränkten Themes in Ihrem Projekt referenzieren
425
15.5 Anhang: Weitere Informationen zu CSS
426
Kapitel 16 – jQuery, Ajax, Datenformate: HTML, XML, JSON, JSONP
427
16.0 Einleitung
427
16.1 jQuery und Ajax
427
Problem
427
Lösung
427
Diskussion
428
16.2 Ajax auf der gesamten Site verwenden
430
Problem
430
Lösung
430
Diskussion
430
16.3 Einfache Ajax-Anwendung mit Rückmeldungen an den Benutzer
432
Problem
432
Lösung
432
Diskussion
432
16.4 Ajax-Hilfsfunktionen und Datentypen
436
Problem
436
Lösung
436
Diskussion
436
16.5 HTML-Fragmente mit jQuery einsetzen
438
Problem
438
Lösung
439
Diskussion
439
16.6 XML-Code in ein DOM konvertieren
439
Problem
439
Lösung
439
Diskussion
440
16.7 JSON erzeugen
440
Problem
440
Lösung
441
Diskussion
441
16.8 JSON parsen
441
Problem
441
Lösung
441
Diskussion
442
16.9 jQuery und JSONP verwenden
442
Problem
442
Lösung
442
Diskussion
443
Kapitel 17 – jQuery in großen Projekten verwenden
445
17.0 Einleitung
445
17.1 Auf dem Client speichern
445
Problem
445
Lösung
445
Diskussion
447
17.2 Den Anwendungs-Status für eine einzelne Session speichern
448
Problem
448
Lösung
448
Diskussion
449
17.3 Den Anwendungs-Status über eine Session hinaus speichern
450
Problem
450
Lösung
450
Diskussion
451
17.4 Eine JavaScript Template Engine nutzen
451
Problem
451
Lösung
451
Diskussion
453
17.5 Ajax-Anfragen queuen
454
Problem
454
Lösung
454
Diskussion
456
17.6 Ajax und der Zurück-Button
456
Problem
456
Lösung
456
Diskussion
457
17.7 JavaScript am Seitenende unterbringen
458
Problem
458
Lösung
458
Diskussion
458
Kapitel 18 – Unit Tests
461
18.0 Einleitung
461
18.1 Unit Tests automatisieren
461
Problem
461
Lösung
462
Diskussion
463
18.2 Ergebnisse sicherstellen
463
Problem
463
Lösung
463
ok( boolean[, message ])
463
equal( actual, expected[, message ])
464
deepEqual( actual, expected[, message ])
464
18.3 Synchrone Callbacks testen
464
Problem
464
Lösung
465
Diskussion
465
18.4 Asynchrone Callbacks testen
465
Problem
465
Lösung
465
Diskussion
465
18.5 Benutzeraktionen testen
466
Problem
466
Lösung
466
Diskussion
467
18.6 Tests atomar halten
467
Problem
467
Lösung
468
Diskussion
468
18.7 Tests gruppieren
469
Problem
469
Lösung
469
Diskussion
469
18.8 Durchzuführende Tests auswählen
470
Problem
470
Lösung
470
Diskussion
470
Index
473
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion























