Bücher online kostenlos Kostenlos Online Lesen
JQuery Kochbuch (German Edition)

JQuery Kochbuch (German Edition)

Titel: JQuery Kochbuch (German Edition) Kostenlos Bücher Online Lesen
Autoren: jQuery Community Experts
Vom Netzwerk:
einer anderen Bibliothek kollidiert

    
    
    



    
Hallo, ich bin ein jQuery-div

    
Hallo, ich bin ein Prototype-div



    Figure 3-8 zeigt die Ausgabe.
    Figure 3-8. Code-Ausgabe
    Wenn Sie
jQuery.noConflict()
aufrufen, gibt es die Kontrolle über die Variable
$
an denjenigen zurück, der sie zuerst implementiert. Haben Sie dies getan, dann können Sie auf jQuery nur über die Variable
jQuery
zugreifen. Statt
$("div p")
nutzen Sie jetzt also zum Beispiel
jQuery("div p")
.
    Diskussion
    Die jQuery-Bibliothek und so gut wie alle Plugins stecken im jQuery-Namenspace.Sie sollten mit den jQuery-Variablen und anderen Bibliotheken (also Prototype, YUI und so weiter) keinerlei Konflikte bekommen. Aber jQuery nutzt auch
$
als Abkürzung für das jQuery-Objekt. Diese Definition sorgt für Konflikte mit anderen Bibliotheken, die ebenfalls die Variable
$
nutzen. Wie wir in der Lösung gesehen haben, können wir dafür sorgen, dass jQuery die Abkürzung
$
freigibt. Stattdessen nutzen wir dann das jQuery-Objekt.
    Es gibt noch eine andere Option. Wenn Sie sicherstellen möchten, dass jQuery nicht in Konflikt mit einer anderen Bibliothek gerät, aber trotzdem eine Abkürzung nutzen wollen, können Sie
jQuery.noConflict()
aufrufen und das Ergebnis einer Variablen zuweisen:
var j = jQuery.noConflict(); j(document).ready(function(){
     j("div#jQuery").css("font-weight","bold");
     });
    Sie können Ihre eigene Kurzform definieren, indem Sie einen entsprechenden Namen für die Variable nutzen, der Sie
jQuery.noConflict()
zuweisen.
    Schließlich gibt es noch eine dritte Option – das Kapseln Ihres jQuery-Codes in einem Closure:
jQuery.noConflict(); (function($){ $("div#jQuery").css("font-weight","bold"); })(jQuery);
    Mit einem Closure sorgen Sie dafür, dass die Variable
$
temporär wieder für das jQuery-Objekt zur Verfügung steht, während es in der Funktion genutzt wird. Endet die Funktion, dann wird die Variable
$
wieder an die Bibliothek zurückgegeben, die die ursprüngliche Kontrolle darüber hatte.
    ----
    Warning
    Wenn Sie diese Technik nutzen, werden Sie in der gekapselten Funktion nicht auf die Methoden der anderen Bibliothek zugreifen können, die das
$
erwarten.
    ----

Funktionalität durch Plugins hinzufügen
    Problem
    Die jQuery-Bibliothek ist eine kleine, schlanke und mächtige JavaScript-Bibliothek, aber sie enthält nicht von vornherein jede spezielle Funktionalität, die Sie eventuell benötigen.
    Lösung
    jQuery war von Anfang an auf Erweiterbarkeit ausgelegt. Wenn die Core-Bibliothek nicht das kann, was Sie möchten, kann es gut sein, dass ein jQuery-Plugin-Autor schon ein Plugin geschrieben hat, das Ihre Bedürfnisse erfüllt – eventuell sogar mit einer einzigen Code-Zeile.
    Um ein Plugin auf Ihrer Seite zu nutzen, müssen Sie nur die
.js
-Datei des Plugins herunterladen, die jQuery-Bibliothek auf der Seite einbinden und dann direkt danach Ihr Plugin aufnehmen. Dann rufen Sie normalerweise in einer anderen
.js
-Datei oder in einem Script-Block auf der Seite das Plugin auf und geben die Optionen an, die benötigt werden.
    Hier ein Beispiel für das jQuery- Cycle-Plugin , das von Mike Alsup entwickelt wurde:
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


    
    Kapitel 3 - Rezept 8 - Funktionalität durch Plugins hinzufügen