2009-09-07 17 views
7

Genellikle jquery

$(document).ready(function() { 
    //stuff 
} 

Sadece ağır jquery kullanan bir siteye oldu bu kullanmak ve onlar bir j ile neredeyse her şeyi başlatmak Bu sitede

$j(document).ready(function() { 
    //stuff 
} 

kullanarak diyoruz .. .

function PostComment(form) { 
    form = $j(form); 
    $j('#CommentSubmitButton').hide(); 
    $j('#CommentInProgress').show(); 
    $j.post('/utils/ajaxhandler.aspx', form.serialize(), function(data) { 
    $j('#CommentInProgress').hide(); 
    $j('#CommentSubmitButton').show(); 
    }); 
} 

bunu yapmanın bu sadece başka bir yolu var mı veya bu jquery veya diğer bir değişik versiyonuna bağlıdır?

cevap

11

JQuery işlevini nasıl çağırmak istediğinizi tanımlayabilirsiniz. Belki bu site $ 'ı ayıran başka bir kitaplık kullanıyor ve bu nedenle alias $ j kullanmış.

+0

iyi bilmek, sadece "yapabilir" veya tanımlamak/başka bir yere ayarlamanız mı gerekiyor? – JasonDavis

+2

http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Overriding_the_.24-fonksiyon – janoliver

+0

'$ j = jQuery.noConflict();' – gnarf

8

Bu diğer kütüphanelerle colision kaçınmaktır: prototip gibi bazı kütüphaneler de $ işaretini kullanmak Örneğin

jQuery.noConflict(); 

ve bunu büyük olasılıkla mola ikisini de kullanarak sonuna kadar eğer. Eğer jquery fonksiyonlarınızı $ j kullanarak geliştirdiyseniz olmaz.

+0

Bu sitenin durumunda, muhtemelen $ j = jQuery.noConflict(); - daha sonra $ j, jQuery'den $ olarak kullanılabilir ve $ (eğer varsa) önceki anlamının üzerine yazılır. – jnylen

4

Basitçe adlandırma çakışmalarını önlemek için bir yöntem. Birçok JavaScript kitaplığı (jQuery bunlardan biri olur) kısayol olarak $ kullanır. Daha fazla bilgi için, bkz. jQuery.noConflict()

2

Kesinlikle diğer kütüphanelerle çakışmayı önlemek için. En kötüsü, prototip ve scriptaculous olurdu.

+1

ayrıca mootools. :) – janoliver

İlgili konular