Steyer | jQuery | E-Book | sack.de
E-Book

E-Book, Deutsch, 532 Seiten

Steyer jQuery

Das universelle JavaScript-Framework für das interaktive Web und mobile Apps
2. aktualisierte Auflage 2018
ISBN: 978-3-446-45651-8
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark

Das universelle JavaScript-Framework für das interaktive Web und mobile Apps

E-Book, Deutsch, 532 Seiten

ISBN: 978-3-446-45651-8
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark



In diesem Buch werden Sie die wesentlichen Möglichkeiten lernen, wie Sie jQuery für Ihre eigenen Webapplikationen nutzen können - von einfachen Webseiten bis hin zu komplexen RIAS und mobilen Apps.
jQuery erleichtert die Arbeit des Webprogrammierers entscheidend:
- Mächtige Features für RIAs einfach entwickeln
- Nur Kenntnisse in HTML, CSS und JavaScript notwendig
- Den Umgang mit JavaScript vereinfachen
- Browserinkompatibilitäten abfangen
- Parallel für Web und mobiles Umfeld entwickeln
Steyer jQuery jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Inhalt;7
2;Vorwort;17
3;1 Einleitung;21
3.1;1.1 Das Umfeld;21
3.2;1.2 Frameworks und Toolkits;22
3.3;1.3 Was behandeln wir in diesem Buch?;23
3.3.1;1.3.1 Das Kern-Framework jQuery;24
3.3.2;1.3.2 Plugins, UI, Mobile & Co;24
3.3.3;1.3.3 Wen sehe ich als Zielgruppe für das Buch?;25
3.4;1.4 Schreibkonventionen;26
3.4.1;1.4.1 Listings;26
3.5;1.5 Was benötigen Sie beziehungsweise was nutzt Ihnen?;26
3.5.1;1.5.1 Hardware und Betriebssystem;26
3.5.2;1.5.2 jQuery, jQuery Mobile, jQuery UI & mehr;27
3.6;1.6 Die Browser;34
3.6.1;1.6.1 Verschiedene Betriebssysteme und virtuelle Maschinen zum Testen;35
3.7;1.7 Die Entwicklungsumgebungen und nützliche Helferlein;36
3.7.1;1.7.1 Editoren – oft bereits mit gewisser Hilfestellung;37
3.7.2;1.7.2 Integrierte Entwicklungsumgebungen;37
3.7.3;1.7.3 Kleine Helferlein;42
3.7.4;1.7.4 Node.js und Git;43
3.7.5;1.7.5 Integrierte Entwicklungstools in Browser und Browser-Add-ons;44
3.7.6;1.7.6 Der Webserver zum realistischen Testen;45
3.8;1.8 Zusammenfassung;46
4;2 Sprung ins kalte Wasser;47
4.1;2.1 Zugriff auf Elemente und Schutz des DOM;47
4.2;2.2 Veränderung der Webseite mit DHTML;53
4.3;2.3 Animiertes Verkleinern und Vergrößern eines Elements;56
4.4;2.4 Attribute dynamisch verändern;61
4.5;2.5 Zusammenfassung;63
5;3 Grundlagenwissen;65
5.1;3.1 Das WWW, das Web 2.0 und das Client-Server-Prinzip im Internet;65
5.1.1;3.1.1 Programmierung im WWW;66
5.1.2;3.1.2 Das Web 2.0 und Ajax;66
5.2;3.2 JavaScript und das Verhältnis zu jQuery;67
5.2.1;3.2.1 Die allgemeine Einbindung von JavaScript in Webseiten;68
5.2.2;3.2.2 JSON;70
5.3;3.3 DOM und Objekte;71
5.3.1;3.3.1 DOM und der Zugriff auf Elemente einer Webseite;72
5.4;3.4 Style Sheets und DHTML;73
5.4.1;3.4.1 CSS – die Standardsprache des Webs;73
5.4.2;3.4.2 Die konkrete Syntax von CSS-Deklarationen;74
5.4.3;3.4.3 Selektoren;75
5.5;3.5 Zusammenfassung;75
6;4 Wie jQuery grundsätzlich arbeitet;77
6.1;4.1 Grundsätzliches zum Zugriff auf Elemente der Webseite;78
6.1.1;4.1.1 Ein Beispiel für unterschiedliche Knoten;79
6.2;4.2 Der jQuery-Namensraum und das jQuery-Objekt;82
6.3;4.3 Spezielle Datentypen und Strukturen in Query;83
6.3.1;4.3.1 Methoden;83
6.3.2;4.3.2 Optionen;84
6.3.3;4.3.3 jqXHR;84
6.4;4.4 Die Funktion jQuery() und der Alias $();84
6.4.1;4.4.1 Der Kontext;86
6.4.2;4.4.2 Verketten von Methoden und die jQuery-Warteschlange;87
6.4.3;4.4.3 Funktionsaufrufe nacheinander ausführen – die jQuery-Warteschlange;87
6.4.4;4.4.4 jQuery.then() und jQuery.when();88
6.5;4.5 Funktionen nach Aufbau des DOM ausführen;89
6.5.1;4.5.1 Callback oder anonyme Funktion als Parameter für jQuery();89
6.5.2;4.5.2 Das ready-Event;91
6.5.3;4.5.3 document.ready() in eine externe JavaScript-Datei auslagern;92
6.5.4;4.5.4 Mit jQuery.holdReady() das ready-Event beeinflussen;93
6.6;4.6 Ein Element mit jQuery() erstellen und in die Webseite einfügen;93
6.6.1;4.6.1 Ein trickreiches kleines Problem – können Sie es lösen?;95
6.6.2;4.6.2 Optionen zum Initialisieren von Attributen;99
6.7;4.7 Direkter Zugriff auf DOM-Elemente mit get( );101
6.8;4.8 Gemeinsame Verwendung von jQuery und anderen Frameworks;101
6.8.1;4.8.1 Die Funktion jQuery.noConflict();102
6.8.2;4.8.2 Einen alternativen Alias verwenden;103
6.9;4.9 Datenspeicherung im DOM;104
6.10;4.10 Mehr zum Kontext und jQuery-Utilities;110
6.11;4.11 Zusammenfassung;112
7;5 Umgang mit Selektoren und Filtern;113
7.1;5.1 Klassische DOM-Zugriffsmethoden;113
7.1.1;5.1.1 Objektfelder;114
7.1.2;5.1.2 Zugriff über einen Namen;114
7.1.3;5.1.3 Verwandtschaftsbeziehungen;114
7.1.4;5.1.4 Elementnamen, IDs und Klassennamen;114
7.1.5;5.1.5 DOM-Zugriffsmöglichkeiten versus jQuery;115
7.2;5.2 Was versteht man unter Selektoren?;115
7.2.1;5.2.1 Was ist ein Selektor?;115
7.2.2;5.2.2 Was sind Filter?;116
7.2.3;5.2.3 CSS3, SQL und XPath als Grundlagen und Hintergrund;116
7.3;5.3 Basisselektoren und hierarchische Selektoren;117
7.3.1;5.3.1 Beispiele zur Verdeutlichung;119
7.3.2;5.3.2 Potenzielle Fallen;130
7.4;5.4 Filterausdrücke;130
7.4.1;5.4.1 Basisfilter;131
7.4.2;5.4.2 Inhaltsfilter;138
7.4.3;5.4.3 Sichtbarkeitsfilter;141
7.4.4;5.4.4 Kindfilter;145
7.4.5;5.4.5 Attributfilter;148
7.4.6;5.4.6 Filter für Formularelemente und Formularfilter;153
7.4.7;5.4.7 Formularfilter zur Auswahl aufgrund des Zustands;157
7.5;5.5 Filtermethoden;159
7.5.1;5.5.1 Praktische Beispiele von Filtermethoden;160
7.6;5.6 Zusammenfassung;169
8;6 Zugriff auf die Elemente einer Webseite;171
8.1;6.1 Inhalte von Knoten abfragen und verändern – html() und text();171
8.1.1;6.1.1 Ein Beispiel zu html() und text();172
8.2;6.2 Inhalt von Formularfeldern – val();176
8.2.1;6.2.1 Ein Beispiel für den Zugriff auf Formularfelder;176
8.3;6.3 Zugriff auf Attribute und Eigenschaften mit attr() und prop();178
8.3.1;6.3.1 Zugriff auf Attribute;178
8.3.2;6.3.2 Zugriff auf Eigenschaften;178
8.3.3;6.3.3 Unterschied zwischen Attributen und Eigenschaften;179
8.3.4;6.3.4 Das Beispiel zum Zugriff auf Eigenschaften und Attribute;180
8.4;6.4 Einfügen von Knoten in eine Webseite;186
8.4.1;6.4.1 append() und prepend();186
8.4.2;6.4.2 appendTo() und prependTo();191
8.5;6.5 Knoten nachher oder vorher einfügen;196
8.5.1;6.5.1 after() und before();197
8.5.2;6.5.2 insertAfter() und insertBefore();197
8.6;6.6 Ummanteln;197
8.6.1;6.6.1 Einzeln mit wrap() ummanteln;197
8.6.2;6.6.2 Alles ummanteln mit wrapAll();200
8.6.3;6.6.3 Innere Bereiche ummanteln mit wrapInner();201
8.6.4;6.6.4 Den Mantel ablegen – unwrap();202
8.7;6.7 Ersetzen mit replaceWith() und replaceAll();202
8.7.1;6.7.1 Ersetzen mit replaceWith();202
8.7.2;6.7.2 Alles ersetzen mit replaceAll();206
8.8;6.8 Überflüssige Knoten entfernen;208
8.8.1;6.8.1 Die Methoden empty() und remove();208
8.8.2;6.8.2 Die Alternative zu remove() – detach();214
8.8.3;6.8.3 Löschen von Attributen;215
8.9;6.9 Vervielfachen mit clone();215
8.10;6.10 Suchen & Finden;215
8.10.1;6.10.1 Von Kindern und Eltern;216
8.10.2;6.10.2 Von Geschwistern;219
8.10.3;6.10.3 Nachfolger mit has() suchen;221
8.11;6.11 Finden mit find() und contents();221
8.12;6.12 Mit each() und map() über Arrays und Objekte iterieren;223
8.12.1;6.12.1 jQuery.each() und jQuery.map();224
8.12.2;6.12.2 Die Methoden each() und map();229
8.13;6.13 Die Methode add();230
8.14;6.14 Die Methoden end() und andSelf();232
8.15;6.15 Zusammenfassung;233
9;7 Layout und Formatieren mit Style Sheets unter jQuery;235
9.1;7.1 Hintergrundinformationen;235
9.1.1;7.1.1 CSS in jQuery – Vermischung von Layout und Funktionalität?;236
9.2;7.2 Die Methode css();237
9.2.1;7.2.1 Abfragen von Stileigenschaften;237
9.2.2;7.2.2 Setzen von Eigenschaften;237
9.3;7.3 Klassen von Elementen verändern;238
9.3.1;7.3.1 Klassen hinzufügen – addClass();238
9.3.2;7.3.2 Klassen wegnehmen – removeClass();247
9.3.3;7.3.3 Klassen umschalten mit toggleClass();247
9.3.4;7.3.4 Test auf eine Klasse – hasClass();248
9.4;7.4 Methoden zur Positionierung;248
9.4.1;7.4.1 Bestimmen der Position mit position();249
9.4.2;7.4.2 Position relativ zum Dokument – offset();254
9.4.3;7.4.3 Methoden zum Scrollen;258
9.5;7.5 Höhe und Breite;261
9.5.1;7.5.1 height() und width();261
9.6;7.6 Innere und äußere Maße;265
9.7;7.7 jQuery.cssHooks;268
9.8;7.8 Zusammenfassung;270
10;8 Ein Praxisbeispiel – eine Datumskomponente;271
10.1;8.1 Das Ziel;271
10.1.1;8.1.1 Die Basiswebseite;272
10.2;8.2 Die CSS-Datei – Templates;273
10.3;8.3 Die JavaScript-Datei;274
10.4;8.4 Zusammenfassung;279
11;9 Ereignisbehandlung unter jQuery;281
11.1;9.1 Grundlagen zu Ereignissen, Eventhandlern, Triggern und Datenbindung;282
11.1.1;9.1.1 Ereignisse;282
11.1.2;9.1.2 Allgemeines zu Eventhandlern;282
11.1.3;9.1.3 HTML-Eventhandler;283
11.1.4;9.1.4 JavaScript/DOM-Eventhandler;283
11.1.5;9.1.5 Das Ereignisobjekt;284
11.1.6;9.1.6 Blubbern und die Bubble-Phase;285
11.1.7;9.1.7 Datenbindung;287
11.1.8;9.1.8 Trigger;287
11.1.9;9.1.9 Delegation;288
11.1.10;9.1.10 Versprechen (Promises);288
11.2;9.2 Das Ereignisobjekt in jQuery;289
11.2.1;9.2.1 Der Konstruktor von jQuery.Event;289
11.2.2;9.2.2 Die Eigenschaften des Ereignisobjekts jQuery.Event;290
11.2.3;9.2.3 Die Methoden eines Objekts vom Typ jQuery.Event;294
11.2.4;9.2.4 Die Ausführung des bereitstehenden Ereignisses anhalten;297
11.3;9.3 Ich habe fertig – $(document).ready();298
11.4;9.4 Event-Helper;298
11.5;9.5 Erweiterte Methoden für das Eventhandling;303
11.5.1;9.5.1 Datenbindung;303
11.5.2;9.5.2 Triggern;308
11.6;9.6 Live Events;312
11.6.1;9.6.1 Die veraltete Methode live();312
11.6.2;9.6.2 Die veraltete Methode delegate() und die delegate-Variante von on();313
11.6.3;9.6.3 Die Methoden die() und undelegate();317
11.7;9.7 jQuery.proxy();317
11.8;9.8 Weiterentwicklung der Datumskomponente;320
11.9;9.9 Zusammenfassung;322
12;10 Effekte und Animationen;323
12.1;10.1 Grundsätzliche Anwendung;323
12.1.1;10.1.1 Speed is all you need;323
12.1.2;10.1.2 Die Angabe eines Callback;325
12.1.3;10.1.3 Verkettung;325
12.1.4;10.1.4 Warteschlangen;326
12.1.5;10.1.5 Beendigung mit stop(), finish() und jQuery.fx.off;326
12.1.6;10.1.6 Endlosanimationen;327
12.1.7;10.1.7 Art der Animationen – Easing;327
12.2;10.2 Konkrete Effekte mit Standardmethoden;329
12.2.1;10.2.1 Anzeigen und Wegblenden – die Methoden show() und hide();329
12.2.2;10.2.2 Gleiteffekte – slideDown(), slideUp() und slideToggle();329
12.2.3;10.2.3 Transparenzeffekte – fadeIn(), fadeOut() und fadeTo() sowie toggle();332
12.3;10.3 Individuelle Animationen mit animate();336
12.4;10.4 Zusammenfassung;344
13;11 Asynchrone Programmierung;345
13.1;11.1 Ajax und XMLHttpRequest (XHR) – Grundlagen;346
13.1.1;11.1.1 Ein XMLHttpRequest-Objekt manuell erzeugen;346
13.1.2;11.1.2 Die Methoden eines XHR-Objekts;347
13.1.3;11.1.3 Die Eigenschaften eines XHR-Objekts;348
13.1.4;11.1.4 Das Datenformat bei einer Ajax-Kommunikation;348
13.1.5;11.1.5 Exemplarischer Ablauf einer Ajax-Anfrage;349
13.2;11.2 Spezialitäten bei der Ajax-Unterstützung in jQuery;350
13.2.1;11.2.1 JSONP und Remote Requests;350
13.2.2;11.2.2 Das jqXHR-Objekt;351
13.2.3;11.2.3 Grundsätzliches zu Methoden in jQuery für Ajax-Anfragen;351
13.2.4;11.2.4 Vermeidung von Caching;353
13.3;11.3 Anwendung der Standardmethoden für Ajax;353
13.3.1;11.3.1 $.get() und $.post();353
13.3.2;11.3.2 JSON-Daten anfordern und verarbeiten – getJSON() und parseJSON();362
13.4;11.4 Ein Skript per Ajax nachladen – jQuery.getScript();364
13.5;11.5 Die allgemeine Variante zum Laden von Daten – load();366
13.5.1;11.5.1 Filter angeben;367
13.6;11.6 Serialisieren von Daten;371
13.6.1;11.6.1 Die Methode serialize();371
13.6.2;11.6.2 Die Methode serializeArray();373
13.6.3;11.6.3 Die allgemeine Version zum Serialisieren – $.param();373
13.7;11.7 Vorgabewerte für Ajax – jQuery.ajaxSetup();374
13.8;11.8 Ajax Events und Ajax-Eventhandler;374
13.8.1;11.8.1 Lokale Ereignisse;374
13.8.2;11.8.2 Globale Ereignisse;376
13.9;11.9 Die vollständige Kontrolle;377
13.9.1;11.9.1 jQuery.ajax();377
13.9.2;11.9.2 Erweiterte Techniken für $.ajax();385
13.10;11.10 Web Worker;387
13.10.1;11.10.1 Was ist ein Web Worker?;387
13.10.2;11.10.2 Erzeugen von Web Workern;388
13.10.3;11.10.3 Die Kommunikation mit einem Web Worker;389
13.10.4;11.10.4 Einen Worker mit terminate() beenden;389
13.10.5;11.10.5 Ein Beispiel zu einem klassischen Web Worker;390
13.11;11.11 Deferred Object und Promises;392
13.11.1;11.11.1 Das Umfeld – Promises;393
13.11.2;11.11.2 Die speziellen jQuery-Methoden zum Umgang mit einem Deferred Object;396
13.11.3;11.11.3 Ein konkretes Beispiel mit Deferred Objects;398
13.12;11.12 Ajax mit Deferred Objects;399
13.12.1;11.12.1 Generische Ajax-Methoden mit then() verketten;400
13.12.2;11.12.2 Das Laden von Skripts mit Deferred Objects;400
13.12.3;11.12.3 JSONP und Deferred Objects;401
13.12.4;11.12.4 Mehrere Ajax-Anfragen ausführen und synchronisieren;402
13.13;11.13 Das Callbacks Object;403
13.14;11.14 Zusammenfassung;407
14;12 jQuery UI;409
14.1;12.1 Was versteht man unter jQuery UI?;410
14.1.1;12.1.1 Komponenten zur Unterstützung der Interaktion;410
14.1.2;12.1.2 Widgets;410
14.1.3;12.1.3 Erweiterte Effekte;411
14.1.4;12.1.4 Das Themen-Framework samt ThemeRoller;411
14.2;12.2 Der Einstieg in jQuery UI;412
14.3;12.3 Wie nutzt man jQuery UI grundsätzlich?;413
14.3.1;12.3.1 Download und der ThemeRoller;413
14.3.2;12.3.2 Die Bereitstellung und Einbindung lokaler Ressourcen;417
14.3.3;12.3.3 Einbindung über ein CDN;418
14.4;12.4 Verwenden der Komponenten in jQuery UI;419
14.4.1;12.4.1 Die Defaulteinstellung;420
14.4.2;12.4.2 Einige grundsätzliche Regeln zu Komponenten und Widgets;423
14.4.3;12.4.3 Eigenschaften/Optionen von Komponenten;423
14.4.4;12.4.4 Methoden von Komponenten;426
14.4.5;12.4.5 Events bei Komponenten und Widgets;430
14.5;12.5 Ein Überblick über die Komponenten und Widgets;430
14.5.1;12.5.1 Die Interaktionskomponenten;430
14.5.2;12.5.2 Die Widgets;431
14.6;12.6 Effekte;443
14.6.1;12.6.1 Die Methode effekt();443
14.6.2;12.6.2 Farbanimationen mit animate();443
14.7;12.7 Zusammenfassung;444
15;13 jQuery Mobile;445
15.1;13.1 Grundlagen;446
15.1.1;13.1.1 Die Plattformen;447
15.1.2;13.1.2 Widgets und Features;449
15.1.3;13.1.3 Download und Bereitstellung;449
15.1.4;13.1.4 Themes und der ThemeRoller;451
15.2;13.2 Das Rollensystem und data-role;452
15.3;13.3 Der grundsätzliche Aufbau einer mobilen Seite;452
15.3.1;13.3.1 Ein erstes vollständiges Beispiel;453
15.4;13.4 Verknüpfen von Seiten;454
15.4.1;13.4.1 Externe Links mit Hijax;455
15.4.2;13.4.2 Interne Links und das spezielle Verständnis einer Seite;455
15.4.3;13.4.3 Zurück in der Historie;456
15.5;13.5 Die Übergänge;458
15.6;13.6 Dialoge;459
15.7;13.7 Schaltflächen;460
15.7.1;13.7.1 Schaltflächen mit Icons;460
15.7.2;13.7.2 Blockelement oder Inline-Element;461
15.7.3;13.7.3 Gruppierung;462
15.8;13.8 Toolbars und Navigationsbars;463
15.9;13.9 Listen;465
15.10;13.10 Formularelemente;466
15.10.1;13.10.1 Feldcontainer;467
15.10.2;13.10.2 Die verschiedenen Formularelemente;467
15.10.3;13.10.3 Deaktivieren von Elementen;468
15.10.4;13.10.4 Plugin-Methoden bei Formularelementen;468
15.10.5;13.10.5 Abschicken der Formulardaten;468
15.11;13.11 Spezielle Ereignisse;468
15.11.1;13.11.1 Berührungsereignisse;469
15.11.2;13.11.2 Änderung der Orientierung;469
15.11.3;13.11.3 Verschiebeereignisse;469
15.11.4;13.11.4 Seitenereignisse;470
15.11.5;13.11.5 Ein Beispiel mit Reaktionen auf Events;470
15.12;13.12 Kollabierte und expandierte Inhalte;472
15.13;13.13 Zusammenfassung;474
16;14 Plugins;475
16.1;14.1 Die Plugin-Seiten von jQuery;475
16.2;14.2 Ein vorhandenes Plugin suchen und verwenden;478
16.3;14.3 Eigene Plugins erstellen;485
16.3.1;14.3.1 Warum eigene Plugins erstellen?;485
16.3.2;14.3.2 Erstellen eines ersten Plugins;486
16.3.3;14.3.3 Die wesentlichen Regeln zur Erstellung eines einfachen Plugins;488
16.3.4;14.3.4 Regeln zur Erstellung komplexerer Plugins;489
16.3.5;14.3.5 Ein Beispiel für ein Plugin mit Optionen;490
16.3.6;14.3.6 Ein weiteres Beispiel für ein Plugin mit Optionen;492
16.3.7;14.3.7 Ein Plugin veröffentlichen;493
16.4;14.4 Zusammenfassung;497
17;15 Das Habitat rund um jQuery;499
17.1;15.1 Sizzle;499
17.2;15.2 QUnit;502
17.2.1;15.2.1 xUnit-Testing;502
17.3;15.3 Bootstrap;508
17.3.1;15.3.1 Responsive Design;508
17.3.2;15.3.2 Bootstrap zur Umsetzung von RWD;509
17.3.3;15.3.3 Herunterladen von Bootstrap;510
17.3.4;15.3.4 Eine Basis-Vorlage;510
17.3.5;15.3.5 Ein Kontaktbeispiel;511
17.4;15.4 Zusammenfassung;513
18;16 Anhang;515
18.1;16.1 Grundlagen zu JavaScript;515
18.1.1;16.1.1 Case-Sensitivität;515
18.1.2;16.1.2 Variablen, Literale und Datentypen;515
18.1.3;16.1.3 Funktionen und Methoden;517
18.1.4;16.1.4 Objekte in JavaScript;519
18.2;16.2 Die Webseite zum Buch;521
19;Index;523
20;Leere Seite;2



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.