O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

jQuery lernen und einsetzen, 3rd Edition

Book Description

Einführung in jQuery, die nur minimale Programmiererfahrung erfordert• Detaillierte Lösungen für Client-basierte Probleme* Autor aus dem jQuery-Core-Team

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Geleitwort
  5. Über die Autoren
  6. Die Fachgutachter
  7. Inhaltsverzeichnis
  8. Einleitung
    1. Der Inhalt dieses Buches
    2. Voraussetzungen für dieses Buch
    3. Zielgruppe dieses Buches
    4. Die Geschichte des Projekts jQuery
    5. Schreibweisen
    6. Herunterladen des Beispielcodes
  9. 1 Erste Schritte
    1. 1.1 Was bietet jQuery?
    2. 1.2 Warum jQuery so gut funktioniert
    3. 1.3 Unsere erste Webseite mit jQuery
      1. 1.3.1 jQuery herunterladen
      2. 1.3.2 Einrichten von jQuery in einem HTML-Dokument
      3. 1.3.3 jQuery-Code hinzufügen
        1. Das Gedicht finden
        2. Eine neue Klasse einfügen
        3. Den Code ausführen
      4. 1.3.4 Das fertige Produkt
    4. 1.4 Einfaches JavaScript und jQuery im Vergleich
    5. 1.5 Entwicklungswerkzeuge
      1. 1.5.1 Firebug
    6. 1.6 Zusammenfassung
  10. 2 Elemente auswählen
    1. 2.1 Das Document Object Model
    2. 2.2 Die Funktion $()
    3. 2.3 CSS-Selektoren
      1. 2.3.1 Listenelemente formatieren
      2. 2.3.2 Attributselektoren
      3. 2.3.3 Links formatieren
    4. 2.4 jQuery-Selektoren
      1. 2.4.1 Zeilen abwechselnd formatieren
      2. 2.4.2 Formularselektoren
    5. 2.5 Methoden zum Durchlaufen des DOM
      1. 2.5.1 Einzelne Zellen formatieren
      2. 2.5.2 Verkettung
    6. 2.6 Zugriff auf DOM-Elemente
    7. 2.7 Zusammenfassung
      1. 2.7.1 Literatur
    8. 2.8 Übungsaufgaben
  11. 3 Ereignisbehandlung
    1. 3.1 Aufgaben beim Laden der Seite durchführen
      1. 3.1.1 Die Codeausführung zeitlich abstimmen
      2. 3.1.2 Mehrere Skripte auf einer Seite
      3. 3.1.3 Kurzschreibweisen
      4. 3.1.4 Argumente an den .ready()-Callback übergeben
    2. 3.2 Einfache Ereignisse
      1. 3.2.1 Ein einfacher Formatwechsler
      2. 3.2.2 Die anderen Schaltflächen aktivieren
      3. 3.2.3 Ereignishandler-Kontext
      4. 3.2.4 Weitere Konsolidierung
      5. 3.2.5 Kurzformen für Ereignisse
    3. 3.3 Zusammengesetzte Ereignisse
      1. 3.3.1 Erweiterte Funktionen anzeigen und ausblenden
      2. 3.3.2 Anklickbare Elemente hervorheben
    4. 3.4 Der Weg eines Ereignisses
      1. 3.4.1 Nebenwirkungen des Event Bubbling
    5. 3.5 Den Weg ändern: das Ereignisobjekt
      1. 3.5.1 Ereignisziele
      2. 3.5.2 Die Ereignisweiterleitung abbrechen
      3. 3.5.3 Standardaktionen
      4. 3.5.4 Ereignisdelegierung
      5. 3.5.5 Methoden für die Ereignisdelegierung
    6. 3.6 Ereignishandler entfernen
      1. 3.6.1 Namensräume für Ereignisse
      2. 3.6.2 Ereignisse erneut binden
    7. 3.7 Benutzerinteraktion simulieren
      1. 3.7.1 Tastaturereignisse
    8. 3.8 Zusammenfassung
      1. 3.8.1 Literatur
    9. 3.9 Übungsaufgaben
  12. 4 Formatierung und Animation
    1. 4.1 Inline-Bearbeitung mit CSS
    2. 4.2 Anzeigen und Verbergen
    3. 4.3 Effekte und Speed
      1. 4.3.1 Anzeigen mit »Geschwindigkeit«
      2. 4.3.2 Ein- und ausblenden
      3. 4.3.3 Auseinander- und zusammenfalten
      4. 4.3.4 Zusammengesetzte Effekte
    4. 4.4 Benutzerdefinierte Animationen erstellen
      1. 4.4.1 Effekte manuell erstellen
      2. 4.4.2 Mehrere Eigenschaften gleichzeitig animieren
        1. Positionierung in CSS
    5. 4.5 Gleichzeitige und aneinandergereihte Effekte
      1. 4.5.1 Mit einem einzelnen Satz von Elementen arbeiten
        1. Die Aneinanderreihung umgehen
        2. Manuelle Aneinanderreihung
      2. 4.5.2 Mit mehreren Sätzen von Elementen arbeiten
        1. Callbacks
      3. 4.5.3 Kurz und bündig
    6. 4.6 Zusammenfassung
      1. 4.6.1 Literatur
    7. 4.7 Übungsaufgaben
  13. 5 DOM-Bearbeitung
    1. 5.1 Attribute bearbeiten
      1. 5.1.1 Nicht-Klassenattribute
        1. Wert-Callbacks
      2. 5.1.2 Eigenschaften von DOM-Elementen
    2. 5.2 Bearbeitung des DOM-Baums
      1. 5.2.1 Neues zur Funktion $()
      2. 5.2.2 Neue Elemente erstellen
      3. 5.2.3 Neue Elemente einfügen
      4. 5.2.4 Elemente verschieben
      5. 5.2.5 Elemente verschachteln
      6. 5.2.6 Umgekehrte Einfügemethoden
    3. 5.3 Elemente kopieren
      1. 5.3.1 Klonen für interne Zitate
    4. 5.4 Get- und Set-Methoden für Inhalte
      1. 5.4.1 Weitere Formatanpassungen
    5. 5.5 Methoden zur DOM-Bearbeitung – kurz und bündig
    6. 5.6 Zusammenfassung
      1. 5.6.1 Literatur
    7. 5.7 Übungsaufgaben
  14. 6 Daten mit Ajax senden
    1. 6.1 Daten bei Bedarf laden
      1. 6.1.1 HTML anhängen
      2. 6.1.2 Mit JavaScript-Objekten arbeiten
        1. JSON-Daten abrufen
        2. Globale jQuery-Funktionen
        3. Skripte ausführen
      3. 6.1.3 XML-Dokumente laden
    2. 6.2 Ein Datenformat auswählen
    3. 6.3 Daten an den Server übergeben
      1. 6.3.1 GET-Requests durchführen
      2. 6.3.2 POST-Requests durchführen
      3. 6.3.3 Formulare serialisieren
    4. 6.4 Unterschiedliche Inhalte liefern
    5. 6.5 Die Anforderung im Auge behalten
    6. 6.6 Fehlerbehandlung
    7. 6.7 Ereignisse in Ajax
    8. 6.8 Sicherheitseinschränkungen
      1. 6.8.1 JSONP für fremde Daten verwenden
    9. 6.9 Zusätzliche Optionen
      1. 6.9.1 Die grundlegende Methode ajax
      2. 6.9.2 Standardoptionen ändern
      3. 6.9.3 Teile einer HTML-Seite laden
    10. 6.10 Zusammenfassung
      1. 6.10.1 Literatur
    11. 6.11 Übungsaufgaben
  15. 7 Plug-ins verwenden
    1. 7.1 Plug-ins finden und Unterstützung bekommen
    2. 7.2 Ein Plug-in verwenden
      1. 7.2.1 Das Cycle-Plug-in herunterladen und einbinden
      2. 7.2.2 Einfache Plug-in-Anwendungen
      3. 7.2.3 Parameter an Plug-in-Methoden übergeben
      4. 7.2.4 Voreingestellte Parameter
      5. 7.2.5 Andere Arten von Plug-ins
        1. Benutzerdefinierte Selektoren
        2. Plug-ins mit globalen Funktionen
    3. 7.3 Die UI-Plug-in-Bibliothek von jQuery
      1. 7.3.1 Effekte
        1. Farbanimationen
        2. Klassenanimationen
        3. Easing für Fortgeschrittene
        4. Zusätzliche Effekte
      2. 7.3.2 Interaktionskomponenten
      3. 7.3.3 Widgets
      4. 7.3.4 JQuery-UI-ThemeRoller
    4. 7.4 Zusammenfassung
    5. 7.5 Übungsaufgaben
  16. 8 Plug-ins entwickeln
    1. 8.1 Das Alias $ innerhalb von Plug-ins verwenden
    2. 8.2 Neue globale Funktionen hinzufügen
      1. 8.2.1 Mehrere Funktionen hinzufügen
    3. 8.3 JQuery Objektmethoden hinzufügen
      1. 8.3.1 Kontext von Objektmethoden
      2. 8.3.2 Implizite Iteration
      3. 8.3.3 Verkettete Methoden
    4. 8.4 Methodenparameter
      1. 8.4.1 Parameter-Maps
      2. 8.4.2 Voreinstellungen für Parameterwerte
      3. 8.4.3 Callback-Funktionen
      4. 8.4.4 Anpassbare Voreinstellungen
    5. 8.5 Die Widget-Factory von jQuery UI
      1. 8.5.1 Ein Widget erstellen
      2. 8.5.2 Widgets entfernen
      3. 8.5.3 Widgets aktivieren und deaktivieren
      4. 8.5.4 Widget-Optionen übernehmen
      5. 8.5.5 Untermethoden hinzufügen
      6. 8.5.6 Widget-Ereignisse auslösen
    6. 8.6 Designempfehlungen für Plug-ins
      1. 8.6.1 Plug-ins veröffentlichen
    7. 8.7 Zusammenfassung
    8. 8.8 Übungsaufgaben
  17. 9 Komplexe Selektoren und Durchlaufen des DOM
    1. 9.1 Auswahl und Durchlaufen – Teil 2
      1. 9.1.1 Dynamisches Filtern von Tabellen
      2. 9.1.2 Streifenmuster für Tabellenzeilen
      3. 9.1.3 Filter und Streifenmuster kombinieren
      4. 9.1.4 Weitere Selektoren und Traversierungsmethoden
    2. 9.2 Selektoren anpassen und optimieren
      1. 9.2.1 Ein eigenes Selektor-Plug-in schreiben
      2. 9.2.2 Selektor-Performance
        1. Implementierung des Sizzle-Selektors
        2. Testen der Selektorgeschwindigkeit
    3. 9.3 Durchlaufen des DOM – Hinter den Kulissen
      1. 9.3.1 jQuery-Objekteigenschaften
      2. 9.3.2 Der DOM-Elementstack
      3. 9.3.3 Ein Plug-in für DOM-Traversierungsmethoden schreiben
      4. 9.3.4 Performance von DOM-Traversierungsmethoden
        1. Performance-Verbesserung durch Verkettung
        2. Performance-Verbesserung durch Caching
    4. 9.4 Zusammenfassung
      1. 9.4.1 Literatur
    5. 9.5 Übungsaufgaben
  18. 10 Komplexe Ereignisse
    1. 10.1 Ereignisse – Teil 2
      1. 10.1.1 Zusätzliche Datenseiten laden
      2. 10.1.2 Daten beim Darüberfahren mit der Maus anzeigen
    2. 10.2 Ereignisdelegation
      1. 10.2.1 Die jQuery-Delegationsmethoden verwenden
      2. 10.2.2 Eine Delegationsmethode wählen
      3. 10.2.3 Frühe Delegation
      4. 10.2.4 Ein Kontextargument verwenden
    3. 10.3 Benutzerdefinierte Ereignisse
      1. 10.3.1 Unendliches Scrollen
      2. 10.3.2 Benutzerdefinierte Ereignisparameter
    4. 10.4 Ereignisse drosseln
      1. 10.4.1 Andere Arten der Drosselung
    5. 10.5 Spezielle Ereignisse
      1. 10.5.1 Weitere Informationen zu speziellen Ereignissen
    6. 10.6 Zusammenfassung
      1. 10.6.1 Literatur
    7. 10.7 Übungsaufgaben
  19. 11 Anspruchsvolle Effekte
    1. 11.1 Animation – Teil 2
    2. 11.2 Animationen beobachten und unterbrechen
      1. 11.2.1 Den Animationsstatus bestimmen
      2. 11.2.2 Eine laufende Animation anhalten
        1. Vorsicht beim Anhalten von Animationen
    3. 11.3 Globale Effekteigenschaften
      1. 11.3.1 Globales Deaktivieren aller Effekte
      2. 11.3.2 Feineinstellung der Animationsübergänge
      3. 11.3.3 Die Effektdauer festlegen
    4. 11.4 Easing mit mehreren Eigenschaften
    5. 11.5 Verzögerte Objekte
      1. 11.5.1 Animations-Promises
    6. 11.6 Zusammenfassung
      1. 11.6.1 Literatur
    7. 11.7 Übungsaufgaben
  20. 12 DOM-Manipulation für Fortgeschrittene
    1. 12.1 Tabellenzeilen sortieren
      1. 12.1.1 Serverseitiges Sortieren
      2. 12.1.2 Sortierung mit Ajax
      3. 12.1.3 Sortierung mit JavaScript
    2. 12.2 Elemente verschieben und einfügen – Teil 2
      1. 12.2.1 Links um bestehenden Text herum einfügen
      2. 12.2.2 Einfache JavaScript-Arrays sortieren
      3. 12.2.3 DOM-Elemente sortieren
    3. 12.3 Daten zusammen mit DOM-Elementen ablegen
      1. 12.3.1 Zusätzliche Vorberechnungen
      2. 12.3.2 Nicht-String-Daten speichern
      3. 12.3.3 Umkehren der Sortierrichtung
    4. 12.4 HTML5 mit eigenen Datenattributen einsetzen
    5. 12.5 Zeilen mit JSON sortieren und erzeugen
      1. 12.5.1 Das JSON-Objekt modifizieren
      2. 12.5.2 Inhalte bei Bedarf wiederherstellen
    6. 12.6 Attributmanipulation für Fortgeschrittene
      1. 12.6.1 Elementerstellung per Kurzschrift
      2. 12.6.2 DOM-Manipulation mit Hooks
        1. Einen CSS-Hook schreiben
    7. 12.7 Zusammenfassung
      1. 12.7.1 Literatur
    8. 12.8 Übungsaufgaben
  21. 13 Ajax für Fortgeschrittene
    1. 13.1 Fortschreitende Verbesserung mit Ajax
      1. 13.1.1 JSONP-Daten einsammeln
    2. 13.2 Ajax-Fehlerbehandlung
    3. 13.3 Das jqXHR-Objekt
      1. 13.3.1 Ajax-Promises
      2. 13.3.2 Antworten cachen
    4. 13.4 Ajax-Anfragen drosseln
    5. 13.5 Ajax-Funktionen erweitern
      1. 13.5.1 Konverter für Datentypen
      2. 13.5.2 Ajax-Prefilter
      3. 13.5.3 Alternative Transporte
    6. 13.6 Zusammenfassung
      1. 13.6.1 Literatur
    7. 13.7 Übungsaufgaben
  22. A JavaScript-Closures
    1. A.1 Innere Funktionen
      1. A.1.1 Gesprengte Ketten
      2. A.1.2 Gültigkeitsbereiche von Variablen
    2. A.2 Interaktion zwischen Closures
    3. A.3 Closures in jQuery
      1. A.3.1 Argumente für $(document).ready()
      2. A.3.2 Ereignishandler
      3. A.3.3 Handler in Schleifen binden
      4. A.3.4 Benannte und anonyme Funktionen
    4. A.4 Gefahren durch Speicherlecks
      1. A.4.1 Unerwünschte Verweisschleifen
      2. A.4.2 Internet Explorer und sein Speicherleck-Problem
        1. Die gute Nachricht
    5. A.5 Zusammenfassung
  23. B JavaScript mit QUnit testen
    1. B.1 QUnit herunterladen
    2. B.2 Das Dokument einrichten
    3. B.3 Tests organisieren
    4. B.4 Tests hinzufügen und ausführen
      1. B.4.1 Asynchrones Testen
    5. B.5 Andere Testarten
    6. B.6 Praktische Erwägungen
      1. B.6.1 Literatur
    7. B.7 Zusammenfassung
  24. C Kurzreferenz
    1. C.1 Selektorausdrücke
      1. Einfaches CSS
      2. Position unter Geschwistern
      3. Position unter passenden Elementen
      4. Attribute
      5. Formulare
      6. Andere benutzerdefinierte Selektoren
    2. C.2 Methoden zum Durchlaufen des DOM
      1. Filterung
      2. Nachfahren
      3. Geschwister
      4. Vorfahren
      5. Manipulation von Sammlungen
      6. Mit ausgewählten Elementen arbeiten
    3. C.3 Ereignismethoden
      1. Binden in Kurzform
      2. Spezielle Abkürzungen
      3. Auslösungen (Trigger)
      4. Utility
    4. C.4 Effektmethoden
      1. Vordefinierte Effekte
      2. Benutzerdefinierte Animationen
      3. Warteschlangenmanipulation
    5. C.5 DOM-Manipulationsmethoden
      1. Attribute und Eigenschaften
      2. Inhalt
      3. CSS
      4. Abmessungen
      5. Einfügen
      6. Ersetzen
      7. Entfernen
      8. Kopieren
      9. Daten
    6. C.6 Ajax-Methoden
      1. Anfragen senden
      2. Anfrageüberwachung
      3. Konfiguration
      4. Hilfsfunktionen
    7. C.7 Verzögerte Objekte
      1. Objekterstellung
      2. Methoden verzögerter Objekte
      3. Methoden für Promise-Objekte
    8. C.8 Verschiedene Eigenschaften und Funktionen
      1. Eigenschaften des jQuery-Objekts
      2. Arrays und Objekte
      3. Objekt-Untersuchungen
      4. Sonstige
  25. Index