jQuery noConflict() metod

Hur använder man jQuery och andra ramverk samtidigt på sidan?

jQuery och andra JavaScript-ramverk

Som du redan vet, jQuery använder symbolen $ som en förkortning för jQuery.

Vad gör man om andra JavaScript-ramverk också använder $-tecknet som förkortning?

Andra JavaScript-ramverk inkluderar: MooTools, Backbone, Sammy, Cappuccino, Knockout, JavaScript MVC, Google Web Toolkit, Google Closure, Ember, Batman och Ext JS.

Vissa ramverk använder också $-tecknet som förkortning (liksom jQuery), om du använder två olika ramverk som båda använder samma förkortningssymbol, kan det leda till att skriptet slutar köra.

jQuery-teamet har tagit hänsyn till detta och implementerat noConflict()-metoden.

jQuery noConflict() metod

noConflict()-metoden frigör kontrollen över $-identifieraren, så att andra skript kan använda den.

Exempel

Naturligtvis kan du fortfarande använda det fullständiga namnet för att ersätta förkortningen och använda jQuery:

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery kör fortfarande!");
  });
});

Prova själv

Exempel

Du kan också skapa dina egna förkortningar. noConflict() returnerar en referens till jQuery, som du kan lagra i en variabel för senare användning. Se detta exempel:

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery kör fortfarande!");
  });
});

Prova själv

Exempel

Om din jQuery-kodblock använder $-förkortningen och du inte vill ändra denna snabbväg, kan du använda $-tecknet som en variabel och skicka det till ready-metoden. På så sätt kan du använda $-tecknet inom funktionen - utanför funktionen måste du fortfarande använda "jQuery":

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery kör fortfarande!");
  });
});

Prova själv

jQuery Kärnreferenshandbok

För en fullständig översikt över jQuery-kärnmethoder, besök vår jQuery Kärnreferenshandbok.