/ / Umgang mit jQuery.noConflict - Javascript, Jquery

Umgang mit jQuery.noConflict - javascript, jquery

Ich habe Skripte geerbt, die so beginnen:

var $j = jQuery.noConflict();

Aber ich habe keine Ahnung, warum das so ist. Ich verstehe, dass wir versuchen, Konflikte zu lösen, aber wie finde ich heraus, welchen Konflikt er lösen möchte?

Wenn wir den tatsächlichen Konflikt nicht finden können, planen wir einen Rückfall $ Anstatt von $j und schauen, ob ein Konflikt auftritt.

Antworten:

1 für die Antwort № 1

Der Hauptgrund, den wir verwenden Jquery.noConflict ist, wenn es andere Javascript-Bibliotheken gibt, die "verwenden$"für Wähler / Funktion / Variable. Wenn Sie herausfinden müssen, wo genau der Konflikt auftritt, führen Sie einfach Code aus, ohne Jquery.noConflict zu bestätigen, und prüfen Sie, ob das ausgenommene Ergebnis auch im Konsolenfenster der Entwicklerregisterkarte erscheint.

Wie immer ist Dokumentation der Schlüssel - https://api.jquery.com/jquery.noconflict/


2 für die Antwort № 2

Laut jQuery-Dokumenten

Viele JavaScript-Bibliotheken verwenden $ als Funktion oderVariablenname, genau wie bei jQuery. Im Fall von jQuery ist $ nur ein Alias ​​für jQuery, daher ist die gesamte Funktionalität ohne Verwendung von $ verfügbar. Wenn Sie neben jQuery eine andere JavaScript-Bibliothek verwenden müssen, geben Sie die Kontrolle über $ an die andere Bibliothek zurück, indem Sie $ .noConflict aufrufen (). Alte Verweise von $ werden während der Initialisierung von jQuery gespeichert, noConflict () stellt sie einfach wieder her.

Wenn aus irgendeinem Grund zwei Versionen von jQuery sindgeladen (was nicht ist empfohlen), Aufruf von $ .noConflict (true) aus der zweiten Version gibt die global angegebenen jQuery-Variablen an die der ersten zurück Ausführung.

Hier ist ein anderer Verknüpfung von docs, die sehr gut erklären können

In einfachen Worten

var $j = jQuery.noConflict();

Danach gehen wir in einen Konfliktmodus über, sodass wir jetzt $ j anstelle von $ oder jQuery verwenden können. Dieser Code steht nicht in Konflikt mit früheren Versionen von Jquery oder Bibliotheken, die $ oder jQuery verwenden


1 für die Antwort № 3

$ ist ein Alias ​​für jQuery. Wenn in Ihrer Anwendung ein Fall auftritt, wenn Sie verwenden $ Für einen anderen Zweck müssen Sie eine andere nicht konfliktfähige Variable verwenden, um Konflikte zu vermeiden.

Es könnte auch einen anderen Fall geben, wenn es mehr als eine Version von gibt jQuery in Ihrer Anwendung oder in Modulen innerhalb Ihrer Anwendung verwendet werden, die dann zu Konflikten führen. Sie müssen also Konflikte vermeiden, indem Sie verwenden jQuery.noConflict();.

Sie können mehr darüber lesen jQuery.noConflict