jQuery - Die noConflict()-Methode


Was ist, wenn Sie andere Frameworks auf Ihren Seiten verwenden möchten, während Sie immer noch jQuery verwenden?


jQuery und andere JavaScript-Frameworks

Wie du bereits weißt; jQuery verwendet das $Zeichen als Abkürzung für jQuery.

Es gibt viele andere beliebte JavaScript-Frameworks wie: Angular, Backbone, Ember, Knockout und mehr.

Was ist, wenn auch andere JavaScript-Frameworks das $-Zeichen als Abkürzung verwenden?

Wenn zwei verschiedene Frameworks dieselbe Verknüpfung verwenden, funktioniert eines davon möglicherweise nicht mehr.

Darüber hat sich das jQuery-Team bereits Gedanken gemacht und die noConflict()Methode implementiert.


Die jQuery noConflict() Methode

Die noConflict()Methode gibt den Haltezustand für die $-Verknüpfungskennung frei, sodass andere Skripts sie verwenden können.

Sie können natürlich weiterhin jQuery verwenden, indem Sie einfach den vollständigen Namen anstelle des Kürzels schreiben:

Beispiel

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery is still working!");
  });
});

Sie können auch ganz einfach Ihre eigene Verknüpfung erstellen. Die noConflict()Methode gibt eine Referenz auf jQuery zurück, die Sie zur späteren Verwendung in einer Variablen speichern können. Hier ist ein Beispiel:

Beispiel

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery is still working!");
  });
});

Wenn Sie einen Block von jQuery-Code haben, der die $Verknüpfung verwendet, und Sie nicht alles ändern möchten, können Sie die $Anmeldung als Parameter an die ready-Methode übergeben. Dies ermöglicht Ihnen den Zugriff auf jQuery mit $, innerhalb dieser Funktion - außerhalb davon müssen Sie "jQuery" verwenden:

Beispiel

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery is still working!");
  });
});

jQuery Misc-Referenz

Eine vollständige Übersicht aller jQuery Misc-Methoden finden Sie in unserer jQuery Misc-Referenz .