2010-04-25 6 views

cevap

3

kırılabilir mi? .... belki :)

bu olacağını kafamın üst kapalı 2 gerçekten genel nedeni vardır. onlar ana nesne var için o zaman bir çatışma alırsınız $ kullanan başka kütüphane kullanıyorsanız, bu ancak bu gibi jQuery.noConflict() ile çözülebilir geçerli:

var $j = jQuery.noConflict(); //give `$` back to whatever had it... 
$j("selector").doSomething(); //use the $j you assigned or jQuery from now on 

diğeri zaten jQuery yüklü olması olurdu (muhtemelen farklı bir versiyon). Senaryonu yüklemeden önce ben sadece bu gibi bir jQuery nesne testi eklersiniz:

if (typeof jQuery == 'undefined') { //load jQuery } 
//jQuery has been loaded, either by your or originally, keep going... 

zaten yüklenmiş Bu çözüm onlar jQuery bir eski versiyonunu olsaydı, sadece özelliklere sahip olacak, bir ihtar vardır Bu versiyonun Sayfada eski bir sürüm ve yeni bir tane yüklemek için bir yol bilmiyorum ve çok fazla tuhaf davranışları yok ... sadece bunu yapmak için tasarlanmamıştı. Ayrıca

, ben jQuery zaten yüklenmiş olduğundan durum için bu iki alternatif çözüm birleştirmek istiyorum ve böyle, $ geçerli: Bu konuda

if (typeof jQuery == 'undefined') { 
    var used = typeof $ != 'undefined'; 
    //load jQuery 
    if(used) jQuery.noConflict(); 
} 
window.$j = jQuery; 
//always use $j in your script, it'll always be present. 
+0

ne olacak? $ j (document) .ready (function() {// Burada $ (selector) gibi şeyler var} Bu iyi değil mi? –

+0

Btw, harika cevap için teşekkürler! :) –

+1

@Martti - Kodunuzu sarabilirsiniz Yani $ içinde bunun gibi çalışır, şöyle: '(function ($) {$ (function() {/ * document.ready şeyler * /});/* $() * /} kullanarak başka şeyler) (jQuery) ; –