jQuery noConflict() -menetelmä

Kuinka käyttää jQuery:tä ja muita kehyksiä samanaikaisesti sivulla?

jQuery ja muut JavaScript-kehykset

Kuten olet jo oppinut, jQuery käyttää $-symbolia jQuery:n lyhenteenä.

Mitä tehdä, jos myös muut JavaScript-kehykset käyttävät $-symbolia lyhenteenä?

Muita JavaScript-kehyksiä ovat esimerkiksi: MooTools, Backbone, Sammy, Cappuccino, Knockout, JavaScript MVC, Google Web Toolkit, Google Closure, Ember, Batman ja Ext JS.

Joissakin kehyksissä käytetään myös $-symbolia lyhenteenä (kuten jQuery:ssä), jos käytät kahta eri kehyksiä, jotka käyttävät samaa lyhennettä, se voi aiheuttaa skriptin pysähtymisen.

jQuery:n tiimi on harkinnut tätä ongelmaa ja toteuttanut noConflict() -menetelmän.

jQuery noConflict() -menetelmä

noConflict() -menetelmä vapauttaa $-symbolin käytön, jotta muut skriptit voivat käyttää sitä.

Esimerkki

Totta kai, voit edelleen käyttää jQuery:ää täydellisenä nimellä korvaamaan lyhenteen:

$.noConflict();
jQuery(document).ready(function(){
  jQuery("button").click(function(){
    jQuery("p").text("jQuery on edelleen käynnissä!");
  );
);

Kokeile itse

Esimerkki

Voit myös luoda oman lyhenteen. noConflict() palauttaa jQuery:n viittauksen, jonka voit tallentaa muuttujaan myöhempää käyttöä varten. Katso tämä esimerkki:

var jq = $.noConflict();
jq(document).ready(function(){
  jq("button").click(function(){
    jq("p").text("jQuery on edelleen käynnissä!");
  );
);

Kokeile itse

Esimerkki

Jos jQuery-koodisi käyttää $-lyhennettä ja et halua muuttaa tätä pikaavuutta, voit antaa $-symbolin muuttujanäytteen ready-metodille. Tämä mahdollistaa $-symbolin käytön funktion sisällä - ja ulkopuolella, sinun on edelleen käytettävä "jQuery":

$.noConflict();
jQuery(document).ready(function($){
  $("button").click(function(){
    $("p").text("jQuery on edelleen käynnissä!");
  );
);

Kokeile itse

jQuery keskeinen viittausopas

Jos haluat täyden jQuery keskeisten metodien yleiskatsauksen, vierailkaamme jQuery keskeinen viittausopas.